[openstack|storage] Added support to impersonate other accounts

The patch would allow to impersonate other accounts if you have
an admin role:

     require 'fog'
     require 'pp'

     auth_url = 'https://identity.test.lan/v2.0/tokens'
     user = 'admin@test.lan'
     password = 'secret'

     id = Fog::Identity.new :provider => 'OpenStack',
                            :openstack_auth_url => auth_url,
                            :openstack_username => user,
                            :openstack_api_key  => password

     st = Fog::Storage.new :provider => 'OpenStack',
                           :openstack_auth_url => auth_url,
                           :openstack_username => user,
                           :openstack_api_key  => password

     id.tenants.each do |t|
       puts "Changing account to #{t.name}"
       st.change_account "AUTH_#{t.id}"
       # list account containers
       pp st.directories
       # We could also head the account and get usage information
       pp st.request :method => 'HEAD'
     end
[openstack|storage] added missing mocks
get rid of bucket/directory delete - not allowed for IA
add IA specific headers for file
get rid of versions from IA
Merge remote-tracking branch 'upstream/master' into internet_archive
missed one
fix tests, found a few differences with S3
fix 1.8.7 error, oops
[rackspace|compute_v2] added specific exception for invalid states in order to make it easier to rescue.
[cloudstack] add snapshot model
[xenserver|compute] added create_vlan request
[xenserver|compute] added destroy_vlan request
[xenserver|compute] added create_vlan request tests
[xenserver|compute] added destroy_vlan request tests
[xenserver|compute] added create_network request
[xenserver|compute] added create_network tests
[xenserver|compute] added destroy_network request
[xenserver|compute] added destroy_network request tests
fix syntax, ruby 1.8.7