Hande 400 errors in pyrax.identity.create_user

Previously, 400 errors were being silently ignored, so
pyrax.identity.create_user("name", "invalidemail") would return None. In
reality, this was getting an HTTP 400 error with a message about an
invalid email address being passed in. We now check if the HTTP message
includes text about invalid email, then raise pyrax.exc.InvalidEmail if
so, otherwise raise a generic pyrax.exc.BadRequest.
Merge pull request #193 from briancurtin/working

Hande 400 errors in pyrax.identity.create_user
Add node type to dict passed to the API
Merge pull request #195 from rstrox/working

Add node type to dict passed to the API
Added the copy/move methods to all classes. GitHub #192.
Added the option to retrieve fresh object references instead of from the cache. GitHub #191
Added option for setting metadata with custom prefixes. GitHub #164

Removed forced lowercasing of metadata keys. Also cleaned some comments.
Remove unused imports. GitHub #189
Fixed the tests broken by the previous commit
Added HEAD methods to the base manager and client classes.
Client can now call a full URL.

Previously, the Client could only call URLs that were based on its management_url.
Moved get_limits into base client
Merge pull request #199 from naterh/get_limits

Get limits implementation
Fixed a typo in the last PR. Also added a unit test.
Fixes VirtualIP to_dict method to use vip id if available
Merge pull request #201 from vaibhavbansal/working

Fixes VirtualIP to_dict method to use vip id if available
Add an "args" argument to the policy-related functions.
Fixed unit tests broken by the pull request.
Added a fix for the odd requirement that timestamps for get_metric_data_points() need to be in milliseconds. GitHub #176
autoscale scaling policy desiredCapacity support

Add a "desired_capacity" parameter to all of the ScalingPolicy
manipulation functions, and use it to set the "desiredCapacity"
attribute on the json object for created and updated policies.