More DirichletBoundary constructors

Not requiring pointers makes it easier to use temporaries as the
FunctionBase arguments