Consider making java play.db.DB a first class citizen

Unlike its scala cousin, play.api.db.DB, in java there are very few methods. Specially, the ones with the pattern "withConnection/Transaction" would be very useful.
Java `withConnection(...)` & `withTransaction(...)` equivalent, with an interface as argument, which can used as vanilla Java or as Java8 lambda (functionnal interface).

```java
DB db = new DB();

// Vanilla Java (1.6+)
db.withConnection("default", new ConnectionCallable<String>() {
  public String call(Connection con) { return "result"; }
}, play.api.Play.unsafeApplication());

// Java8 lambda
db.withTransaction((Connection c) -> "result");
```