Allow fitting GLMs on matrices and refitting GLMs on new responses

This adds a method for fitting a GLM by explicitly specifying the design matrix and response vectors. The resulting GlmMod object has empty ModelFrame and formula fields, and I've changed the few
functions that reference these fields to first check if they are defined, but eventually it is probably a good idea to follow @lindahua's suggestion from JuliaStats/Roadmap.jl#11 and split out functionality that depends on DataFrames into a separate package.

I have also added a method for fitting a GLM on a new response vector using the same design matrix, using the old parameter estimates as the starting point.

I am happy to wait for further thinking about design before merging this. I am opening the PR because I needed this functionality now for a project I'm working on, and most of these changes are likely to be necessary no matter how we decide to handle this.

Closes #54