Made RegressionStrategy.scala and Indicators more modular

Our code works and runs to create a graph for both ShiftsIndicator and RSIIndicator. Developer should be able to extend BaseIndicator to implement new feature, though there are still some issues remaining. The major ones are:

FBIC-3 Make params to RSIIndicator a case class
FBIC-9 metricsParams are always from emptyStrategy, should be from RegressionStrategy
FBIC-11 fix the difference in graphs of ShiftsIndicator, apparently, the coefficient vector comes out different
FBIC-16 abstract the max period of indicators -> firstIdx = getMaxOffSet() + 3 in createModel
FBIC-19 shouldn't need to loop through indicators, use mapping function
FBIC-22 Document RegressionStrategy
FBIC-26 Implement a new indicator to see how well our class works

We still have some work to do so we don't expect this pull request to be accepted. Hoping this serves as a brief code review. Please comment on any issue you can and looking forward to what you have to say!


Changed so that onCloseWindow size is calculated based on the user passed in period values. The funcationality is taken care of minWindowSize(). 
Getting a very odd error, not sure why changing the WIndowSize from a default high value of 30 to 15 causes the output to change greatly