Fixed #2274

This PR is a quick fix for #2274. I use the `custom_model` function to create an `astropy.modeling.Model` instance internally, when the model is a an ordinary function. Furthermore I added a check, that the `model` argument is callable.
@cdeil, @eteq 
Checking `isinstance(model, _ModelMeta)` implies that the `model` argument may also be a model *class*, which would somehow have to be instantiated with parameters.  I don't think it works that way, so there's no reason to include this check.