Initialize OS block storage REST API clients

Package name: kamaki.clients.blockstorage
Add unit tests for Block Storage REST client
Implement Block Storage client
Add unit tests for Block Storage client
Implement Cyclades Block Storage rest client

Includes unit tests
Implement Cyclades Block Storage client

The Cyclades client overrides some methods of the OS-specific
client, due to API differences: create_volume, create_snapshot

Unit tests for these methods are also implemented
Expose volume & snapshot commands (Block Storage)
Document object storage commands and library
Move blockstorage commands to cli/cmds directory

Also, adjust to new "kamaki.cli" naming conventions
Fix typo when calculating download target path

Fixes #30
Check if container exists in upload and download

Fixes #31
Modify upload and download semantics to make sence

Uploads and downloads have the form
kamaki file ACTION SOURCE [TARGET]

Problem:
If the SOURCE is a path and TARGET is missing, kamaki used to preserve
the path structure on the destination e.g.,
$ kamaki file upload /tmp/some/file.txt
  create remote dir tmp
  create remote dir tmp/some
  upload /tmp/some/file.txt --> tmp/some/file.txt

Solution:
Use the basename of the SOURCE in this case e.g.,
$ kamaki file upload /tmp/some/file.txt
  upload /tmp/some/file.txt --> file.txt