Add default return value for request data

Allow overloading of the default return value of NULL when
requesting request data.

Example:
  http://host/action?foo=bar&abc=123

  $app->request->get('foo')        -- [bar]
  $app->request->get('bar')        -- [NULL]
  $app->request->get('bar', false) -- [FALSE]
Migrate \Slim\Middleware\MethodOverride into \Slim\Http\Request
Removes encryption and decryption, adds some error handling

Removes encryption and decryption from SessionCookie.  The encryption
and decrption will be handled elsewhere and can be enabled or disabled
via the cookies.encrypt config setting.

This fixes flash messaging/SessionCookie decoding failure when
cookies.encrypt = true
Fixes \Slim\Slim::setCookie() method signature error.
Whitespace fixes
Fixes travisCI PHP 5.3 test failure (build 299).
Convert \Slim\Environment to non-static behavior
Remove obsolete methods from \Slim\Crypt and \Slim\Http\Request
Remove obsolete methods from \Slim\Http\Request
Rearrange methods in \Slim\Http\Request
Update inline docs in \Slim\Http\Request
Simplify \Slim\Session interface
Set \Slim\Session::setOptions as protected
Merge pull request #635 from jeremykendall/fix/cookie-encryption

Fixes flash messaging/SessionCookie decoding failure when cookies.encrypt = true
Add test for `urlFor` with regular expressions syntax.
Removes remnant of escaped special characters.

Before `urlFor` would return '/path/Hello\.Josh' for a pattern
'/path/(:foo\.:bar)' with parameters
`('foo' => 'Hello', 'bar' => 'Josh')`, when the expected return value
is '/path/Hello.Josh' (this test was introduced in commit cc722cc).
Merge branch 'release-2.3.2'
Fix merge
make flash middleware implements countable
Merge remote-tracking branch 'lalop/flash_countable' into release-2.3.3