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.

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, but most of these changes will
be necessary for that as well.

I have also added a method for fitting a GLM on a new response vector
using the same design matrix.

Closes #54
Reset state before refitting
Uncouple GLM from DataFrames

Requires JuliaStats/DataFrames.jl#571, JuliaStats/StatsBase.jl#51
Refs JuliaStats/Roadmap.jl#11