[TS().write()] fix many bugs in img writing
[class_parser_demo] update w/ new api
initial working pipeline. Pot detection accuracy still needs improvement.
There is no need to hard code the settingPath

The setting path can be passed in the configuration (yaml) file. I remove
various lines that ended in spaces.
* timestream/manipulate/pipecomponents.py(ImageUndistorter, ColorCardDetector)
(ImageColorCorrector, TrayDetector, PotDetector, PlantExtractor): Remove
spaces ending lines.
* timestream/manipulate/pipeline.py(ImagePipeline): Removed settingPath from
the __init__ method. It should be in the configuration file.
(test): Removed test method. Was not needed and did not express the current
state of things.
the config file *.yml.
* util/pipeline_demo.py(settingFile, inputRootPath, outputRootPath): Changed
these variables to my local setup. These should not be set in code, but should
be gotten from a config file. Also removed settingPath from the ImagePipeline
instatiation line.
The initial datastructure should not be hardcoded.

* timestream/manipulate/pipeline.py(ImagePipeline): Removed the check for an
ndarray at class initialization.
Initialize the process with a TimeStreamImage

* timestream/manipulate/pipecomponents.py: Import TimeStreamImage
(ImageUndistorter): Expect a TimeStreamImage instead of an ndarray.
* timestream/manipulate/pipeline.py(ImagePipeline): Use the *args as initial
argument. Remember that ImagePipeline knows nothing about what its passing
along (It's not logical to call pixels on what it receives).
* util/pipeline_demo.py: Put the timestream instance in the context argument.
All components will have it available as context{"ts"}.