Create factory method to get SwaggerClient which has the caching functionality

* Expose `client.get_swagger_client(...)` factory method which has the caching functionality

```
LOB sdist-make: /nail/home/prateek/pg/swagger-py/setup.py
py26 runtests: commands[0] | nosetests

....................................................................................................
----------------------------------------------------------------------
Ran 100 tests in 0.823s

OK
py27 inst-nodeps: /nail/home/prateek/pg/swagger-py/.tox/dist/swaggerpy-0.3.0.zip
py27 runtests: commands[0] | nosetests
....................................................................................................
----------------------------------------------------------------------
Ran 100 tests in 0.849s

OK
flake8 inst-nodeps: /nail/home/prateek/pg/swagger-py/.tox/dist/swaggerpy-0.3.0.zip
flake8 runtests: commands[0] | flake8 swaggerpy
flake8 runtests: commands[1] | flake8 swaggerpy_test
______________________________________________________________ summary ______________________________________________________________
  py26: commands succeeded
  py27: commands succeeded
  flake8: commands succeeded
  congratulations :)
```
This is just the first working prototype. As the change will be made only to the wrapper, this can be taken up in the next version. I am putting it off from this PR.