Adds Token-based Auth

This adds the ability to use username/password based auth to get an
auth token to use for subsequent calls.

  import SoftLayer
  client = SoftLayer.Client()
  client.authenticate_with_password('username', 'password')

  import SoftLayer
  client = SoftLayer.Client()
  # Get all security questions (you basically pick one at random that you have answered)
  client['User_Security_Question'].getAllObjects()
  client.authenticate_with_password('username', 'password', 122, '2004')

note: this is pending an API release to add this feature to the XML-RPC API.
Fixes a test
Adding some more network stuff to the get_instance() mask (to match the HardwareManager). Also moving port speed changes out of the CLI and into the manager.
Adding ability to control NIC speed for hardware (like CCIs) and adding unit tests.
Changing port specification after discussion
Changing CLI to match manager changes
Merge pull request #121 from beittenc/expand_networking_options

Add support for changing port speeds for hardware
Merge pull request #114 from sudorandom/token_auth

Adds Token-based Auth
Adding in manager code for ordering dedicated servers
Updating generate_create_dict() so it doesn't accept any option
PEP8 cleanup
First pass at getting dedicated server ordering working at command line
Convert --disk options to be a list
Removing inaccurate instructions
Updating usage info
Add in support for GPU and power supply options for specific server chassis
PEP8 fixes
Changed per peer review notes and future API plans. Cutting down the number of options available when ordering any kind of server.
Forgot to commit unit test updates
Adding missing unit test coverage