Put getFeatures and calcComplexity in the parent class.

* timestream/manipulate/plantSegmenter.py: We put them in the parent
class as they might be used by other subclasses.
Make normRange a method of class PotSegmenter

* timestream/manipulate/plantSegmenter.py (normRange) : New method that
will normalize a dimension value to range from [0,1]
(getFeatures): Take normRange out of getFeatures.
Change name of FeatureCalculator to StatParamCalculator

* timestream/manipulate/pipecomponents.py: The StatParam calculates statistical
parameters not features.
* timestream/manipulate/plantSegmenter.py: Likewise
Put feature calculation in a separate class

* timestream/manipulate/plantSegmenter.py(FeatureCalculator): New class that
calculates features. It allows the generation of any combination of features.
Add additional simple segmentation code

We name it method1.
* timestream/manipulate/plantSegmenter.py(FeatureCalculator.G4mB3mR1): New
feature that calculates 4*G-3*B-1*R.
(PotSegmenter_Method1): New class with new method for segmenting plants. We
follow these setps:
1. Get feature G4mB3mR1
2. Apply a median filter
3. Apply a hard threshold.
4. Remove all blobs greater than self.blobMinSize
(segmentingMethods): added PotSegmenter_Method1 as "method1"
(YAML): this is the argument line in the yaml file
methargs: { threshold : 0.6, kSize : 5, blobMinSize : 50 }
* timestream/manipulate/pipecomponents.py: Added a FIXME comments so I can
remember to check for pipecomponent arguments.
Expect the pipeline.yml file sys.argv[2]

* util/pipeline_demo.py: Get pipeline.yml from sys.argv[2]. Fall back to
the one in _data.
User can modify outputRootPath.

Used only for testing
* util/pipeline_demo.py: The outputRootPath will be different than the
inputRootPath if there is a third argument defining a path.
Update to generate new experimental specific setting file exp_spec.yml.
Now pipeline.yml has to be generated separately.