Enable OAuth paths

- POST oauth/request_token should have a "smart_record_id" parameter
- GET internal/request_tokens/abc/info returns the app and record info associated with the token
- POST internal/request_tokens/abc/approve will approve the token and return to oauth_callback_url (! need to decide on this behavior !)
- Files that were touched were converted to 4 spaces
Do not crash if a token does not exist

Returns a 403 if the request token does not exist
Added support for container manifest (GET /manifest.json)
Merged 'container_manifest'
Merge branch 'dev' into dev_rest
Merge branch 'dev' into dev_rest
Updated URL mappings
Merge branch 'dev' into dev_rest
Added "app_launch" URL to server manifest. PEP8-ify.
Merge branch 'dev' of https://github.com/chb/smart_server into dev_rest
pep8-ify
Add a machine-app call to get app OAuth credentials

Returns JSON containing the consumer_key and consumer_secret. The app's email is filled for the consumer_key, is this what is used as the OAuth key?
Also applies some pep8 rules to pha.py
Merge branch 'dev' of github.com:chb/smart_server into dev_rest

Conflicts:
	smart/views/smarthacks.py
Merge branch 'dev' into dev_rest
Comment out a lot of debug messages.
Silence another debug print. Some PEP8 on base.py.
Require `oauth_callback` to be in the manifest for REST apps.
Exception catching when the triplestore is down. More PEP8.
Return 401 instead of 403 when the tokens are bad.

In `smart/middlewares/authentication` we check for the presence of an OAuth header, and if it's there but no principal comes out of it (i.e. the header is invalid), a 401 is returned. There was no check in place there before, so only when `smart/middlewares/authorization` was hit it would return a 403. That's because the permission to request a token was not present if there was no (valid) app principal in the request.
Decide between 401 and 403 after being sure that we don't have perms.

This changes the behavior from the last commit.