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))
Yes, and I did realize that before I pushed, but in my mind at the time it seemed reasonable to leave it in to allow people to create ModelFrames based on existing ones without having to go digging in the innards of template the ModelFrame themselves.  I know I had some use cases in mind but I can't think of them anymore, and they may all be superseded by cases where you want to make a DataFrameRegressionModel (etc.) based on an existing one and a new DataFrame.