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!


As I mentioned in a comment in https://github.com/PredictionIO/PredictionIO/pull/21

You can assume users are familiar with prediction.IO infrastructure. Do not need to cover how to start all the backends like hbase, spark, etc in this readme.