Refactored the way commands are parsed.

This has several advantages:
  - It fixes #22.
  - More generally, the shell is less sensitive to input variations; the
    old one would choke on leading/trailing whitespace, or extra
    whitespace. Now the parser just sees whitespace separated strings.
  - We no longer have to duplicate the names of command and their
    arguments; these are derived from the python function
    names/arguments. We can still override the name when we need to
    though.

We take advantage of the last point in a number of places, so the
command names have changed.

Still on the TODO list, the docstrings are no longer used, and contain
no useful information that isn't in the immediate vicinity. We could
should use this to provide a brief description of what the function does
- which we could even add to the help message.
Added a unit test module for the cli.

During the course of which I discovered that if the test module is in a
subdirectory of the source tree, it won't be able to import from the
root of the tree (We probably missed this before because we were
installing the haas into the venv). To remedy this, I moved the model
tests to the root of the tree, next to the ones for the cli.

Right now there's one test, which checks for proper error handling in
the case of an invald number of arguments passed to a command. It is
currently failing.
A bit of rework on the cli module, and some tests.

I created a private "command" class, which does a better job of
encapsulating the command. I added a few more tests to go with it. The
test from the previous commit is still failing, but this should make the
fix cleaner.
cli: Fixed incorrect handling of empty commands.

These should just be ignored. Some tests to go with it.
cli: run_command exits cleanly on wrong arg count.

test suite now passing.
Merge branch 'devel' into cli-parsing-refactor
deleted most of the command docstrings

They provide nothing other than function name & args, and are no longer
needed to generate the help message. See also issue #34.

I left the one for `show <table_name>`, since it actually provides some
additional information.
Merge pull request #32 from CCI-MOC/cli-parsing-refactor

Refactored the way commands are parsed.