* fix#1976
System Topic like SCHEDULE_TOPIC_XXXX should not be create or delete by user
* User can not send message to system topic SCHEDULE_TOPIC_XXXX
* the-->The
* fix magic number 18
* move system topic to TopicValidator except TBW102
* move TBW102 and isSystemTopic to TopicValidator
* add test code
* validateTopic --> validatorSystemTopic, validatorBlacklistTopic
* validateTopic --> validatorSystemTopic, validatorBlacklistTopic
* rename some methods
* Polish 'no route info of this topic' exception.
* Write exception to log
* Modify logic that cannot connect to nameserver
* Solve the problem that the regression test does not pass.
* Adapt to lite pull consumer
* Make checkNameServerSetting function private and change its name.
* add logic of putting message that exceeds max-check-times to system topic TRANS_CHECK_MAXTIME_TOPIC
* add test case:testResolveDiscardMsg
* add @After logic to test case
* comment brokerController.shutdown and use mock
* add logic of resuming half message check
* add test case:resumeCheckHalfMessage
* delete commented codes
* [issue#1164]return the codes to original reput method part.
* [issue#1164]fix issue that Consumer Instance can't consume message from slave when cluster is in the high level tps and master has been killed.
* [issue#1164]if the broker is a master node,then modify reputFromOffset correctly.
* [issue#1164]add some coding comments.
* [ISSUE#1156]new mqadmin API for ACL configuration.Add dataVersion and write data to acl yaml config file in the acl module.
* [ISSUE#1156]add unit test cases for new acl mqadmin API command which adding dataversion part.
* [ISSUE#1156]implement update,delete and query Acl config version in new acl mqadmin API command.
* [ISSUE#1156]polish and optimize the implementation for new acl mqadmin API command.
* [ISSUE#1156]fix the issues that topicPerms and groupPerms can't be updated and there is NPE when querying acl config version.
* [ISSUE#1156]fix small issue that specify wrong plainAccessConfig attribute,the correct one is AccessKey.
* [ISSUE#1156]add updateGlobalWhiteAddr subcommand codes for mqadmin acl command.
* [ISSUE#1156]adjust some codes for cluster acl config version list in the mqadmin acl commands.
* [ISSUE#1156]add acl mqadmin command part in the acl user_guide docs.
* [ISSUE#1156]polish and optimize some part of acl mqadmin command codes.
* [ISSUE#1156]fix code comments issue that the first letter needs to be capitalized and adjust the contents of acl user_guide.
* [issue#1078]fix User can't use mqadmin command normally if they don't copy the tool.yml file to their related fold and AclEnable flag is closed.
* [issue#1147]Broker will report Exception if open the aclEnable and enableDLegerCommitLog flag at the same time.
* [issue#1147]Broker will report Exception if open the aclEnable and enableDLegerCommitLog flag at the same time.
* [issue#1147]Add the restriction of Acl in the acl's user guide.
* [issue#1147]Adjust some codes for acl issue that users can't open the aclEnable and use Master/Slave or Dledger the same time.
* [issue#1147]Adjust and optimize some codes for acl issue that users can't open the aclEnable and use Master/Slave or Dledger the same time.
* [issue#1147]return back for original codes for acl issue that users can't open the aclEnable and use Master/Slave or Dledger the same time.
* [ISSUE#662]capitalizing the first letter in comments and removing the unless comments for acl and msg trace feature codes.
* [ISSUE#662]polish the acl feature codes.
* [ISSUE#403] fix some bugs and Optimization code for rocketmq's acl feature.
* [ISSUE#403] fix some bugs and Optimization code for rocketmq's acl feature.
* Update MQAdminStartup.java
* Update MQAdminStartup.java