first commit.
preparing for subtree splits.
swap components to dev-master temporarily while splitting.
swap aliases.
update all deps to 4.0.x in components.
fix hasFile.
Encodes numeric strings as numbers.

When Json string is given, numeric values are given as string, instead it may be better to have them as numbers, which 
enables compatibility with javascript frameworks like Angularjs using Json objects.
added request::segment method.
use getSessionStore in request class.
added hasSessionStore method.
added request::segments method.
Can't pass array into flashOnly and flashExcept

If you pass an array into `flashOnly` or `flashExcept` like in other methods by the time it gets to `only` or `except` we have `[0 => ['email', 'name']]` etc. 
convert arrays to message bags on redirect.
Merge pull request #285 from Robbo-/patch-2

Can't pass array into flashOnly and flashExcept of the Request class
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.
Fixing bug where Request::has() would throw error because of trying to use trim if the data type was an array
Fixing bug where Request::has() would throw error because of trying to use trim if the data type was an array
Removed caching for Input::json().