Started refactoring the command shell.

The existing code has a lot of redundancy.
A few misc fixes.
Started some unit tests.

This is still very incomplete. Also, one of the tests is only
half-written, and is thus failing.
Merge remote-tracking branch 'origin/devel' into cli-refactor
cli refactor done
Update haas_shell.py
update
added the missing create_headnode
Wrote a test concerning duplicate vlans.

Currently the test is failing.

In addition, I added a docstring to the other test.
duplicate vlan test is now passing.
test_exist
- got rid of redundant copy of help message text
- modified help text to put items that operate on same object near each other
  in message
merging back from cli-refactor after modifying help messages
Merge branch 'cli-refactor' of github.com:CCI-MOC/haas into cli-refactor
- added space after prompt for user name
- added space after prompt for user
Fixed some indentation.
Removed haas.command_pattern

It isn't actually used anymore.
Use more standard notation in the help message.

You'll see [ either | or ] pretty often, the angle brackets are mostly
used for <a single value of some conceptually clear type>.
Removed a pointless comment.