refactor RestController slightly

move each GET functionality into it's own method
add new ApiController

the new controller will answer to the `/api/...` urls
using these you can configure even more generic REST interfaces at the expense of losing a container identity.
if you set up `X-Container-Meta-Rest-Endpoint` on the container to a `swift://` url and use the `/api/...` path info
the application or job description will be loaded from that url and executed instead of usual container operation
the original storage-related operations will still be available under `/v1/...` url
Merge pull request #124 from pkit/rest

Improve REST API
fix a strange behavior on some machines

hopefully fixes problems with swift 2.0.0 on some machines, have no idea why it works without that patch here

the main problem is that 404 is returned sometimes from swift 2.0.0 storage backend when we call GET() directly
it looks like the ObjectController class of Swift sometimes uses request and sometimes uses self to resolve account, container or object paths
to make sure that paths are correct everywhere this patch ensures that all ObjectController classes are created with needed paths and container_info is called with proper request objects (as info is cached in the request object environ dictionary)
Merge pull request #127 from pkit/bug_fix

fix erroneous 404s from ApiController, caching related