New redirect strategy

I change the way the redirect strategy works.
The redirects from authenticate/logout actions are now callbacks.
This way the user can overwrite the default callback and decide **exactly** what to should happen.

ping @Ocramius

closes #479
closes #476
closes #473
closes #469
I'd inject the route match, so you don't need to match twice. On top of my head:

```php
$mvcEvent   = $serviceLocator->get('Application')->getMvcEvent();
$routeMatch = $mvcEvent->getRouteMatch();
```