Reflective Commands for TShock and plugins - automatically add commands to Commands.ChatCommands (TShockAPI and TerrariaServer)

This adds the `virtual bool ReflectiveCommands` to plugins, which toggles it.
This requires changes to PluginContainer and TerrariaPlugin, I've made a pull request in Deathmax/TerrariaAPI

When TShock is loading commands, it will scan plugins with this enabled for command methods, and automatically add them to `Commands.ChatCommands`.

Command methods are public and are labeled with a `CommandAttribute` to tell TShock to reflectively search for them. For example:

    [Command(Permissions.kick, "kick")]
    public static void Kick(CommandArgs args) { ... }

This has been done to each of TShock's native commands, and the changes which will affect plugins and reflection load routines are mostly done in TShock itself.