Use lib.get_node instead of using _build_node_data_bag
Add parallel options
Change usage of _remove_local_node_data_bag and _remove_local_node_data_bag

Using these from the runner itself seems to make more sense
organizationally and allows us to only build the node data bags once at
the beginning of the run. That's especially important when we're running
multiple nodes in parallel.
Print the host string in more commands
Add _node_runner and make node use it

To enable parallelism we can't just call chef.sync_node from a for loop.
This uses Fabric's built in functions to run Chef on nodes in
parallel.
More consistent output formatting
Update tests for new method names
Make get_node handle the merged node as well

Since we can't use build_node_data_bag to get our merged node anymore we
need a way to be able to selectively get both a regular node file or get
the merged post build node file.
Add support for setting parallel pool_size
Cleaner env.parallel init

Yeah, this was dumb before
Remove @hosts decorator from node and nodes_with_role

No longer needed since we use execute
Remove redundant call to chef.remove_local_node_data_bag
Merged node not actually used by solo.configure
Add back in user@host logic
Move test printing to correct place
Make lib.credentials respect user
Change parallel to concurrency and fix optparsing

The way I parse the various possibilities is really ugly and I hate it
but it works and I haven't been able to figure out a better way.
Merge pull request #141 from philk/parallelized

Add parallel Fabric support
Fixes #77