Separate ActionBuilder from ActionFunction and add implicit conversions

Still broken because type inference can't sort out the ambiguous conversions to
GenericActionBuilder and ActionBuilder, and they can't be combined because one
is parameterized over A and the other forces A = AnyContent.