Initial steps for API Tests

Needs a new buildout cause we install "nose" now

Specifically:
-Added "nose" in setup.py
-Altered setup.cfg --> [nosetests] We do not need coverage there
-Added route /providers in __init__.py
-Added "providers" in views.py -->
    This was needed in order to return in our API
    our supported providers
Added the API Tests folder named TestsApi

In there:
-->test_class.py
this is a unittest class, this is the actual class
that nosetests run
-->backends.py, keypairs.py, machines.py
functions to make API calls after importing requests
Added the tests config file (yaml)

We need to replicate a user, so we should not seek in our
actual database for information and rather compare the
information that the api gives with the actual.

We use a yaml file to store information received from our
API, much like somebody using the API would do...

IMPORTANT:
You need to add some things to yaml file prior to running
nosetests. See our wiki page for more information.
Renamed yaml file to yaml.backup

In order to
cp tests_config.yaml.backup tests_config.yaml
This way whatever changes we make to .yaml will not be commited
Add machine_actions, cleaning_up and to yaml file

Specifically:
--Add MACHINE_NAME, KEY_NAME to yaml.backup
--Add functions: get_private_key(), get_public_key()
--Add functions for machine actions (reboot, destroy, start, stop)
--Add cleaning up
--Add documentation and docstrings to be used by the nosetests
Add one of EC2 and Rackspace Backends

Until tests are finished, we add only one of EC2 and Rackspace backends.

Uf you want all of them erase the "break" in the add_backends tests in
test_class.py

Beware: EC2 EAST does not save the names correctly
and we cannot connect to Rackspace London
Add randomized Key Name

cause EC2 kept the old one, and could not find the correct
public key
Merge branch 'master' into tests_api
Add larger range for randomly generated names

AND:
Added better handling of Test generated keys
Moved the entire ApiTests forder to src/mist/io
Add support for mist.core

In order for core to use the same methods as io,
we created the MyRequests class who takes care to
make the requests with or without cookies
accordingly
Add cookie parameter in test_class

In order to extend the TestClass in core we have added the cookie
parameter in order to make the same calls in core using cookie
Merge branch 'master' into tests_api
Add missing newlines at EOF and ident Comments
Merge pull request #9 from mistio/tests_api

Add API tests