Add predict method using DataFrame predictors

The StatsBase.predict method that is currently delegated to doesn't take DataFrames as predictors, just matrices.  I've added a constructor for ModelFrame which takes Terms and a DataFrame and creates a new ModelFrame based on the original but with new data, and a predict method that uses this to construct a predictor matrix suitable to pass to the StatsBase.predict. (Addresses [GLM.jl #76](https://github.com/JuliaStats/GLM.jl/issues/76))
Maybe it would be simpler to have a `remove_response` function that returns a new `Terms` object with the response removed?