Only filter nil values when updating tenant properties

Without this patch, updating a tenant to have a value of the boolean
false for the property "enabled" will silently fail. This is because the
update_tenant request will only modify properties if the parameters are
not falsey, and false is a falsey value. This patch fixes the problem
by modifying the update_tenant request to alter properties only when
they are not strictly nil.
Bump version to 0.0.8
Remove the requirement to authenticate before calling a service object

There is no reason for Session#get_service_obj to require
authentication and it can do its job perfectly without it. The only
reason I can see it doing that is so that Service#request doesn't
crash. However, upon looking at Service#request, it already has the
necessary checks to ensure it has the data it needs. I did, however,
add a more helpful error message in cases where the client code did
forget to initialize the session data before calling Service#request.
OpenStack: Add the ability to use a service token

Service tokens can be used directly without pre-authentication. While
it's possible to use service tokens without this change, it is not
very obvious. This change makes the use of service tokens easier.