sub-parsers added for start/stop/restart/list commands.
fixed a bug where the parsing of "flushing mmaps" durations wasn't working.
added Cluster class, that discovers all running instances of the current datapath configuration.
solve circular import between Cluster and MLaunchTool. Possibly move all of cluster's methods into mlaunch?
moved cluster functionality to mlaunch.py.

too specific to be separate, also had problems with circular imports.
added list command. shows overview of nodes running/down for current configuration.
implemented stop command based on tags. still bit buggy.
renamed start command to init, restart to start.

mlaunch [init] --sharded 2 --single
mlaunch list
mlaunch stop all
mlaunch start all
added comments to mlaunch methods.
added start/stop commands, protocol_version 2 for .mlaunch_startup file.
added --verbose to start and stop command.
mlaunch start can work with protocol_version 1 if all nodes are down.
better help strings in argparser. start and stop notify when no nodes were affected.
added print_table, to print pretty tables. currently only used for mlaunch.
--dir for all sub-commands. port tags working now. sorted output by port asc. list --verbose added.
refactored to underscored_methods.
intermediate phase for re-structuring of mlaunch init.
restructuring complete. mlaunch init now uses the same hooks through discover(). testing...
added verbosity text. fixed a number of startup errors.
added possibility to wait for nodes to shutdown (waiting only for launch before).