significant redesign of command handlers

... based on our needs and ideas in
http://lostechies.com/jimmybogard/2013/12/19/put-your-controllers-on-a-diet-posts-and-commands/

1. one command to one command handler
2. commands have a result
 - newly introduced UnitType represents void
 - the introduction of CommandHandler<T> and AsyncCommandHandler<T> should ease migration