updated for using cached subject from controller

I have updated API for DeadboltActions. Authentication is a one-time process (for each request) – it rarely needs to be done multiple times (only inside templates).

How do you like this realization? I suggest using ActionBuilders for creating constraints. So instead:

```
 def restrictOne = Restrict(Array("foo"), new MyDeadboltHandler) {
   Action {
     Ok(accessOk())
  }
}
```

using

```
def restrictOne = RestrictAction("foo"){ authRequest =>
   // authRequest.subject accessible here
   Ok(accessOk())
}
```

DeadboltHandler example:

```
...
def getSubject[A](request: AuthenticatedRequest[A]): Option[Subject] = request.subject.orElse {
    getUserFromDB(request)
}
...
```
for not using cached user, just not using `request.subject`