Add "service_type" member var in Client classes

Refs: #2

The "service_type" of an API client is related to the endpoint URL
used to initialize the client and should match the "type" attribute
of the corresponding endpoint.
Add method "get_endpoint_url" in AstakosClient

Refs: #2

In kamaki, AstakosClient is imported from the astakosclient
package, and then it is wrapped so that some convenienve methods
can be added.
Use "get_endpoint_url" in client instantiations

Refs: #2
Update docs and Changelog for get_endpoint_url

Closes #2
Merge pull request #7 from saxtouri/feature-service-endpoint

Introduce the 'get_endpoint_url' method (identity client wrapper) and use it in client initialization.
Rename package kamaki.cli.command_tree --> cmdtree
Rename package  kamaki.cli.commands --> cmds
Rename module kamaki.cli.command_shell --> shell
Rename module kamaki.cli.one_command --> one_cmd
Rename class _command_init --> CommandInit

Class is located at kamaki.cli.cmds
Merge classes _optional_output_cmd, _optional_json

New class is called "OptionalOutput"
Old and new classes were/are located at kamaki.cli.cmds
Rename classes _id/name_filter --> [ID/Name]Filter

Both classes are located in kamaki.cli.cmds
Update kamaki.cli.cmds.astakos class names (pep8)

Renames:
_init_synnefo_astakosclient --> _AstakosInit
_project_action --> _ProjectAction
_application_action --> _ApplicationAction
_membership_action --> _MembershipAction
Move command-wait class to kamaki.cli.cmds

Move and rename:
kamaki.cli.cmds.cyclades._service_wait --> kamaki.cli.cmds.Wait

The class is now accessible to all commands, therefore it is not
an internal class for cyclades module. The name of the class
changed to conform with pep8 suggestions for classes
Update cli.cmds.cyclades class names (pep8)

Renames:
_init_cyclades --> _CycladesInit
_server_wait --> _ServerWait
Rename kamaki.cli.cmds.errors classes (uniformity)

Renames:
generic --> Generic
user --> Astakos
history --> History
cyclades --> Cyclades
image --> Image
pithos --> Pithos

Rational: each command specification can feature a class of error
handling methods, which can be shared with other specs, if the
later need to borrow the same behavior

Also, new names conform with pep8 suggestions for class names
Update cli.cmds.history class names (pep8)

Rename: _init_history --> _HistoryInit
Update kamaki.cli.cmds.image class names (pep8)

Rename: _init_image --> _ImageInit
Update kamaki.cli.cmds.network class names (pep8)

Renames:
_init_network --> _NetworkInit
_port_wait --> _PortWait
Update kamaki.cli.cmds.pithos class names (pep8)

Renames:
_pithos_init --> _PithosInit
_pithos_account --> _PithosAccount
_pithos_container --> _PithosContainer
_source_destination --> _PithosFromTo
_pithos_group --> _PithosGroup