If ts has less than 10 images don't add it.

* util/derandui.py (DerandomizeGUI._addTS): Raise RuntimeError if ts has less
than 10 images.
Derandomizer. Error if CSV headers are not unique

* util/derandui.py (DerandomizeGUI._addCsv): We cancel the CSV upload if we find
repeated headers.
Metas is a PCFGSection.

* timestream/manipulate/configuration.py (PCFGConfig.argNames): The dictionary
in the configuration file will be translated into a PCFGSection.
Activate sub sec checks for dates and times.

* timestream/manipulate/configuration.py (PCFGConfig.autocomplete): When we
don't have enough data to autocomplete date and time, we error out. This happens
when the user specifies {start,end}Date or {start,end}RangeHour and is missing
one component.
Increase the depth of timestream.yml config file

This in order to get to general.metas.id.
* scripts/run-pipeline.py (genConfig): Call append with depth = 2.
* timestream/manipulate/configuration.py (PCFGConfig.createSection): Include a
section as a dictionary only when the dictionary is all indexed by strings.
Create PCFGListSection for pipeline and outstreams only.
Eliminate the "-" between outsuffix and outstream

* scripts/run-pipeline.py (genContext): Subject.
* timestream/manipulate/pipecomponents.py (ResultFeatureWriter.__init__):
Subject. We add a "-" separator in the csv output as it is no longer in the
suffix.
Allow for time specifications to be None

* scripts/run-pipeline.py (genInputTimestream): We allow the user to specify
None for start and end time specifications. This will mean consider all times.
WindowsError can occur when reading images.

* timestream/parse/__init__.py (read_image): Add a WindowsError to the possible
errors that can occur when reading an image. When in a platform other that
windows we use None.
Create a test for run_pipeline.

* scripts/run_pipeline.py: Rename run-pipeline.py to run_pipeline.py to allor
`from run_pipeline import maincli`.
* scripts/run_pipeline.ui: Rename run-pipeline.ui for consistency.
* tests/helpers.py: Add directory in tests/data that contains the test images.
* tests/test_pipeline.py: New test. We:
    1. Run the pipeline
    2. Create a corrected Timestream
    3. Create a segmented Timestream
    4. Create CSV Feature output
    5. Check creation of directories and images
    6. Check creation of pickle files
    7. Check internals from pickle files.
Update test/data submodule

* tests/data: We include the new test directories from the data repository.
Remove the need for image files in tests.

We use the python unittest class methods to setup the images so they are not
called for every test.
* tests/helpers.py : We add an additional image to the image list
"2013_10_30_06_30_00".
(imgs_common_tsdir): New method that will setup and tear down all images
necessary for the tests
* tests/test_classes.py (TestTimeStreamStr, TestTimeStreamLoad)
(TestTimeStreamImagePathAssing, TestTimeStreamIterByFiles)
(TestTimeStreamIterByTimepoints): Add setUpClass and tearDownClass
class methods.
* tests/test_parse.py (TestAllFilesWithExt, TestGuessManifest, TestGetImage):
Likewise
Fix bugs and warnings in ts.manip.pot

* timestream/manipulate/pot.py: rm unused import of cv2, fix variable
	naming/typo bug, fix 'not x in y' => 'x not in y'
Merge pull request #153 from Joelgranados/testnoimg

Remove the need for image files in tests.
Merge pull request #155 from kdmurray91/fix/misc_warnings

Fix bugs and warnings
Add requirements.txt for the gui stuff seperately
Merge pull request #156 from kdmurray91/joelnext

Joel's latest changes
initial, possibly broken, resized image writer

* timestream/manipulate/pipecomponents.py: ResultingImageWriter: add the
	ability to resize images before writing
Fix undefined variables bug in ResFeatureWriter

@Joelgranados please confirm

* timestream/manipulate/pipecomponents.py: Fix what looks like an
  undefined variable bug in the ResultingFeatureWriter class
Always use PCEx exceptions in pipecomponents

* timestream/manipulate/pipecomponents.py: ResultingImageWriter: use our
  custom exceptions, not built in ones.
Parse size in __init__ of ResImageWriter

This implements Joel's suggestion of parsing the size param in __init__
of the ResultingImageWriter, so that it dies while the pipeline is being
set up, not at each timepoint in execution.

* timestream/manipulate/pipecomponents.py: ResultingImageWriter: Use
	__init__ to parse the size param. Also support float/tuple
	directly, not just strings.