Revert change of Request to abstract class.

Java 8 will only support interfaces as lambdas, so we need Request to be an
interface and we'll need Action to become an interface with a default method
rather than an abstract class. Fiddly, but oh well.