OpenStack updates

I found several issues with the `authenticate_v2` code that I felt needed to be addressed. I've also been attempting to reconcile the differences between all the services. I feel like there needs to be a `Fog::OpenStack::Service` class for all the duplicated initialization/authentication code. These commits bring these services closer to the point where this could be done, but there's still several items that need to be addressed.

I wanted to post what I have so far to get some feedback. I've ordered these commits such that it should be easy to merge up to whichever commit you feel comfortable with. The last few commits obviously effect more than just OpenStack, but I thought I'd leave them here for the moment.