Dynamic Request Methods

Just in case Twitter releases something in their API and a developer
wants to implement it on their app, but we haven't gotten around to
putting it in Twython yet. :)
POSTing works again, somehow it broke... :/
Whoops.. didn't mean to give those out. Haha.
Removed OAuth library callback_url detection code, as callback_url passing does not depend on that anymore.
If callback_url is not set, don't force it to 'oob'
Fix adding callback_url for old style servers
Use simplejson if they have it first, allow for version passing in generic requests, catch json decoding errors and status code errors

* Changed the importing order for simplejson, if they have the library
installed, chances are they're going to want to use that over Python
json, json is slower than simplejson

* Version passing is now avaliable

* Catching json decode errors (ValueError) and Twitter Errors on
`_request` method and returning content rather than the response object.
Removed 'import inspect' as it is no longer needed.
Get rid of print
Several improvements to allow for debugging , error handling :
- added twitter's http status codes to twitter_endpoints.py ( dict index on status code, value is a tuple of name + description )
- created an internal stash called '_last_call' that stores details of the last api call ( the call, response data, headers, url, etc )
- better error handling for api issues:
- - raises an error when the status code is not 200 or 304
- - raises TwythonAPILimit when a 420 rate limit code is returned
- - raises a TwythonError on other issues, setting the correct status code and using messages that are from the twitter API
- wraps a successful read in a try/except block.  there's an error i haven't been able to reproduce where invalid content can get in there, it would be nice to catch it and write a handler for it.  ( the previous functions were all introducted to allow this to be debugged )
- added a 'get_lastfunction_header' method. if the API has not been called yet , raises a TwythonError.  otherwise it attempts to return the header value twitter last sent.  useful for x-ratelimit-limit , x-ratelimit-remaining , x-ratelimit-class , x-ratelimit-reset
Merge pull request #73 from eriks5/master

oauth_callback_url cleanup
Merge pull request #74 from jvanasco/master

Enhanced debugging support courtesy of jvanasco.
Merged dynamic_requests with recent pull request additions

* Removed twitter_http_status_codes. Unnecessary variable when we are
giving them the error back.

* Added a "Please see..." message to TwythonError if the exception
passes an error code, linking to Twitter API error response page.

* Merged stuff from constructFunc into _request()
Maybe the twitter_http_status_codes were a good idea. :P

I still think it's weird to have them, but I'm not against giving the
user more information. I put back in the twitter_http_status_codes
variable, but I changed where the logic was being handled, instead of
it happening the in _request, it will be asserted in Twython error if
an error_code is passed AND the error_code is in
twitter_http_status_codes
Merge pull request #72 from michaelhelmick/dynamic_requests

Dynamic requests, moving towards 1.6.0.