Some CLI Cleanup/Housekeeping

CLI: creates add_really_argument() helper for CLIRunnables to use
CLI: moves loading/getting modules to CCI/__init__.py for reuse
CLI: Adds 'list' CLIRunnable.
CLI: Adds execute() convention for CLI modules. If the function exists in a
     CLI module it will use execute() when evoking 'sl module_name'
CLI: When there are no CLIRunnables in a CLI module, do not add the subparser.
	 This prevents ugly output (mostly for `sl list`).
CLI: `sl` no longer outputs an error saying you didn't provide enough arguments.
     Instead, it prints the help.
CLI: Adds 'importlib' as a requirement for Pythons < 2.7
Plugin Discovery Revamp & Re-organization.

General: Organizes tests into API and CLI directories.
CLI: Moves bin/sl code to SoftLayer/CLI/__init__.py for 2to3 and testability.
CLI: Instead of the 'scripts' directive in setup.py the script is now installed via
     the 'entry_points' argument. See: http://stackoverflow.com/a/17933
CLI: Adds tests for all functions migrated from bin/sl except for main()
CLI: Revamps how module discovery works. Importing a class that inherits
     CLIRunnable will not register itself to SoftLayer.CLI.plugins.
     e.g.: {'cci': {'list': ListCCIs}}
CLI: Python 3 compatability for the CLI???
Fixing Broken Tests. Improves parse_config() a bit
Moves from creating tmp Files to Fixtures

Adds LICENSE and README.md to the manifest
Fixes a couple Bugs. Refactoring

CLI: I moved the parser code out of main(). Hopefully it's close to being testable.
CLI: Makes 'Help' command a legit command.
Fixes --format not being injected to 2nd Parser

CLI: The issue here is that both the first parser and second parser want the --format
     option. This seems like a hack. I wish to come up with a way to handle
     multidimensional argument parsing to allow for sub-commands.
Brings coverage back to 100%

CLI: The only thing missing is main() in SoftLayer/CLI/__init__.py
Fixes tests for py3.3

CLI: Apparently the behavior of ArgumentParser with add_subparsers() changed
     between 3.2 and 3.3...
Fixed help command showing up twice

CLI: Sorts commands
CLI: Re-adds --help option to base `sl` script.
CLI: Removes SoftLayer/CLI/help.py
Re-removes help from parse_primary_args()...
Captutes KeyboardInterrupt for a nicer cancel
Tests KeyboardInterupt while executing Command
Adds CLIHalt Exception. Centralizes Exit Logic
Makes `sl module` look prettier

CLI: Removes special case for 'None' Actions. We decided `sl list`
     was too much effort.
Merge pull request #29 from sudorandom/small_tweeks

Some CLI Cleanup/Housekeeping