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 
Maybe it would be clearer to explicitly state that an arbitrary callable is passed to `~astropy.modeling.custom_model`.