CLI: Fixed config setup from breaking
Adds Result Generator for API calls.

This allows for iterating over a set of results in chunks so you don't have to
transfer and then hold the entire dataset in memory.

>>> cci_iter = client['Account'].getVirtualGuests(iter=True, chunk=100, ...)
>>> for cci in cci_iter:
>>>     print cci['fqdn']

Still needs tests.
Finishes first implementation of Generator

Example usage below. This will request 10 VMs at a time from the API until 30 total starting after the first 10.
>>> for i, vm in enumerate(c['SoftLayer_Account'].getVirtualGuests(iter=True, chunk=10, limit=30, offset=10)):
>>>     print i, vm['fullyQualifiedDomainName']
Merge pull request #66 from sudorandom/generator

This adds a generator for the API binding. Resolves #65
Merge pull request #67 from CrackerJackMack/env_config_fix

CLI: Fixed config setup from breaking
Server-side Filtering for Tags on CCIs

* Implements server-side filtering for tags through the CLI/manager.
* Adds **kwargs to some manager methods to be passed through to the API call. This is
  useful for adding extra functionality to the manager classes.
Adds documentation for CCI listing
Merge pull request #71 from sudorandom/filtered_tags

Server-side Filtering for Tags on CCIs
Adds doc blocks to modules. Fixes test. Adds test.

* All: Adds sphinx style doc blocks w/copyright on all modules
* CLI: Fixes a couple tests to work when environmental variables are set.
* API: Adds test for SoftLayer.CCI.reload_instance
* API: Adds some missing documentation for API client.
Moves copyright to comments for CLI modules

As to not show up in the CLI help text. (whoops)
Merge pull request #74 from sudorandom/module_doc

Adds doc blocks to modules. Fixes test. Adds test.
Clarify CCI transaction output

* Rename the "provisioning" column to "active_transaction"
It's slightly more accurate, and it's just a preference of mine not to
introduce new terminology. If users interact with the API in other ways,
it'll be called a transaction, right? Or is the terminology changing
globally?

* Display "<None>" for an empty active transaction
The empty string means that transaction would always have to be the last
column, because you couldn't count on awk column offsets in selecting
individual fields. Also, it makes it hard to grep for CCI that _don't_
currently have an active transaction.
Formalizes blank settings for #69
Removes left padding for raw format

For raw format, tables had a leading space. This causes some weirdness with awk columns.
Old:
 12345  dal05  something.host.com   4  4096  87.65.43.22  12.34.56.78
 54321  sjc01  something2.host.com  1  1024  12.34.56.88  87.65.43.21

New:
$ sl cci list --format=raw
12345  dal05  something.host.com   4  4096  87.65.43.22  12.34.56.78
54321  sjc01  something2.host.com  1  1024  12.34.56.88  87.65.43.21
Forgot to change to NULL instead of <None>
Merge pull request #75 from sudorandom/left-padding

Removes left padding for raw format
missed a default behavior
Adds More Server-Side Filtering Options for sl cci list.

Examples:
    sl cci list --datacenter=dal05
    sl cci list --network=100 --cpu=2
    sl cci list --memory='>= 2048'
    sl cci list --tags=production,db

* CLI: Moves NestedDict to top-level utils module so the managers can use it.
* CLI: Adds to_dict() method to NestedDict since the XML-RPC library is too strict about types.
Removes private filtering option
Moves query_filter() to SoftLayer.utils