Add basic transaction support for database actions.

- The `transactionally` combinator in JdbcProfile corresponds to
  `withTransaction` in the old API: It ensures that an Action is run
  inside a transaction but does not guarantee failures coming out of it
  to be atomic. In case of nested `transactionally` actions, only the
  outermost one controls a real database transactions.

- New Action combinators `filter`, `failed` and `asTry` work similarly
  to their Future counterparts.

- `transactionally`, `failed` and `asTry` can be fused into
  SynchronousDatabaseActions.

- Renamed Action.const to Action.successful and added Action.failed,
  similar to the API for the Future values produced by running these
  Actions.

- Fixed return types for JDBC insert Actions.

Test in TransactionTest (OldTransactionTest now contains the tests for
the old API which were previously located in TransactionTest).