Splitting the Trunk subcommands/subclasses into separate files for clarity

@alloy a quick approbation/code review before merging?

Especially is it a good practice to keep the private methods in `trunk.rb` as they are used by subclasses in `trunk/*.rb`? (It seems ok to me, but maybe the official practice is to create a "Helper", I don't know)