Make Input::json() more logical

Now you can send JSON payloads as an actual body in a PUT or POST request, instead of only decoding a specific POST param, or whatever it was doing before.




Also, if a non-JSON mime-type is sent it will refuse to try and parse the data, instead only returning the default value. This to me seems like a much more logical usage of Input::json() than the initial implementation.
Cache JSON to avoid re-parsing on every usage.
ACTUALLY do some caching this time.
Removed caching for Input::json().
Merge branch 'master' of github.com:laravel/framework into patch-1
Updated return docblock for Input::json().