[ts.parse] Fix extraneous return statement

Left a debugging return statement in.
[ts paths] Fix bug with relative paths

If a non-existant relative path not prepended with ./ was given to
ts.create(), then it would fail as it couldn't determine the dirname to
create.
[ts paths] Better striping of trailing slashes

Trailing slashes fuck up basename and dirname, so we remove them if
they exist. This removes the literal '/', and uses os.pathsep, and also
makes removing trailing slashes the first thing that happens when
working with either ts.create or the ts.path property.
added plotting of segmented image
corrected order of image channel
added option to write image to timestream right after color correction stage
added a pipeline demo to only create and save fully corrected images
added a pipeline demo with processing time constraint from 8AM to 3PM
[ts.path] Bugfix, use os.sep not os.pathsep

Pathsep is used to parse $PATH, sep is used to parse paths. Perfectly
logicaly.
[ts.parse.all_files] Always sort files in walk

We nearly always need files from start to end of ts in chronological
order. This allows the order to be fixed
[test_parse] assert sortedness of walked files

Fix all_files_all_ext(s) and functions which call this to not sort the
resulting images, so that we can assert that they come pre-sorted
Add a show method to the potmatrix class.

* timestream/manipulate/plantSegmenter.py (show): New method in the
ImagePotMatrix class. Will draw all pot squares (not centers) on the image.
* timestream/manipulate/pipecomponents.py (show): Uset the new show method
to show a plant extractor update.
Use CIEL*a*b. Run k-means once.

CIEL*a*b is a bit better than RGB at noticing the differences in the green
spectrum. We have a pretty good idea of where the pot is, so we don't need to
grow it. And we add a texture feature explained in Massimo et. al.
(Image-based plant phenotyping with incremental learning and active contours).
* timestream/manipulate/plantSegmenter.py (PotSegmenter_KmeansSquare.segment):
Remove the logic that grows the pot in search of a better segmentation.
(PotSegmenter_KmeansSquare.getFeatures): New method that returns color and
texture features.
Add complexity calculation

We use complexity to decide if a mask is appropriate or not. If there is too
much complexity, it usually means that the segmentation when wrong.
* timestream/manipulate/plantSegmenter.py (calcComplexity): New method in
PotSegmenter_KmeansSquare that calculates complexity. We use Parrott et. al.
2008.
(segment): We check the relation of background -vs- foreground. If there is
more FG than BG we invert the mask.
Show segmentation only when visualise is active.

* timestream/manipulate/pipecomponents.py (__call__): Remove the show call
from __call__
Add arguments to control the k-means calculation.

* timestream/manipulate/plantSegmenter.py (segment): Try calcKmeans with 20
attempts instead of 10.
(calcKmeans): We add iterations, epsilon and attempts as new arguments to our
method.
Show segmentation when segmenting

We were not actually showing the segmentation before.
* timestream/manipulate/plantSegmenter.py (ImagePotHandler): We now always
return a mask. Its completely black if we have none available.
(ps): New property. This fixes a previously hidden bug.
(mask): When the mask contains negative 1 it has not been calcuated. Mask will
only be calculated if self._ps is not none and contains -1. If self._mask does
not contain -1, we return it
(rect): Reset self._mask to all -1 when changing self._rect.
(maskedImage): This property now returns the segmentated pot within the original
image. It's like a window into the segmentation.
(show): use the new maskedImage property to build a proper segmented image to
show.
Show all plots in the same figure.

* timestream/manipulate/pipecomponents.py (show): Use plt.subplot to show
multiple plots in the same figure.
Print the current segmented pots in the same line.

* timestream/manipulate/pipecomponents.py (__call__): use \r to print the
message of the pot being segmented.
[ts.manip] remove old parallel ts iterator