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.

Names also need cleaning up.  HigherOrderActionFunction should probably just be
ActionFunction, and ActionFunction something else.