Reworked the command registration system

Please read the [javadoc](https://github.com/Limeth/Terasology/blob/16965803d4edd128ce5baaa3c35e814de26752f3/engine/src/main/java/org/terasology/logic/console/Command.java).
The point of command varargs is, that the user can type the following command without quotes:
**say Hello, World!**
or have branched commands depending on the previous parameters:
*game <Game game> <String String option>*
*game deathmatch addSpawnPoint*
*game captureTheFlag addFlag blue*