changed matrices to be sized after construction
introduced an object for input and output to the computation
removed clumsy adding of observations and introduced passing in pointer to data instead
changed output from exclusively stdout to a passed-in ostream
introduced Double class for floating point comparisons instead of c-style #defines
moved all declarations into one header for simple inclusion in 3rd party apps