Print out usage for individual commands

- There is now an explicit 'help' command, which takes any number of
  arguments.  When given none, it duplicates the old "usage" behaviour.  When
  given one or more, it prints out only the summary of those commands.

- Documentation holes: Right now, four commands don't have doc-strings:
  list_free_nodes, project_delete, show_node, and user_delete

- Bug: The command summarizer can't deal with variable arguments, so the help
  message for 'help' is a little less descriptive than it could be.
Clean up haas/cli.py

- Add documentation for the four undocumented calls.
- Make docstrings more uniform in format
- Fix some whitespace errors
Display usage for argument lists
Catch 'wrong number of arguments' exception

Wrapping the function in a decorator breaks argument inspection.  So, the
'cmd' decorator now also generates usage lines.
Add an important constraint to the dell_vlan model.

Amusingly, the server won't start now.
Pass 'create' flag to driver's init_db
Document 'create' flag in driver's init_db
Merge pull request #187 from gsilvis/duplicate-db-init

Duplicate db init
Rename (commands, command_list) -> (command_dict, commands)
Merge branch 'devel' into help-command

Conflicts:
	haas/cli.py
Add two missing docstrings
Merge pull request #178 from gsilvis/help-command

Show usage for single commands