Moved "Learn" to "Query".
Added HTTPS connector unit test.
Update connectors.
Renamed "Learn" to "Query"; removed locale.

- Added (some) documentation too.
- Corrected shebang line.

We detect the locale from the $LANG environment variable now.
Removed lang.
Updated start to feature more (and more useful) actions.
Added new unit tests.
Better sections in documentation.
Completely rewrote https unit tests for 3-tier model.
Update options to reflect new structure.
Validate args based on new structure.
Validate and process new argument structure.
Add "query" action, make action lists explicit.

Otherwise BJSONRPC self-hoses because it can't handle metaprogramming.
Rename to include module name.
Call outgoing requests correctly.
Rename some classes.

Unfortunately, this is a very unclean commit because these were lots
of tiny changes that got mixed into lots of other larger diffs.
This'll be clean when the rest of the commits are applied.
Process external calls to the CLI connector.
Rename Learn to Query.
Raise 500 error if values is None.
Convert all internal superclass calls to external commands.