OpPixelFeaturesPresmoothed: Eliminated 'stacker' and 'multi' suboberators, which weren't needed and caused lots of extra configuration steps.
slot: Removed preinsertion signal. (Nothing seems to use it.)
knime reader/writer
add operator for export to knime:
Modify LICENSE* files to reflect change to LGPL
Change license statements in files to LGPL2+
Merge pull request #137 from burcin/license

Update license statements to LGPL2.1+
Implemented imagePerTime case of run_export() + possibility to constrain export
Use MetaDict.assignFrom() whenever possible.
caches: Provide blockshape/RAM information as slot metadata
OpPixelFeaturesPresmoothed: Provide RAM and blockshape hints as metadata.
Merge pull request #138 from christophdecker/behavior-knime-integration

Knime integration: Implemented imagePerTime case of run_export()
Use RequestPool instead of manual scheduling in OpH5WriterBigDataset.

In order to prevent overloading the memory of the host computer,
OpH5WriterBigDataset manually schedules active requests. This limits the
maximum utilization of the resources on the host. This patch passes the
responsibility of scheduling tasks and controlling memory usage to the
Request framework.
Use determineBlockShape function to determine chunk shape.

Chunk shape computation in OpH5WriterBigDataset assumes that data has 3
space dimensions (x, y, z). If there are less, the chunk size computed
is too small. This leads to poor performance due to excessive
bookkeeping around instanteneous C++ calls.

Using the utility function determineBlockShape() returns more
reasonable chunk sizes.

With this change, CPU usage is still not optimal with frequent spikes
between maximum CPU utilization and single processor use.
OpPixelOperator: Fixed typo in function name.
RoiRequestBatch: Catch StopIteration exception if the total number of requests is smaller than the batch size.
roi.py: Added utility function: determine_optimal_request_blockshape()
ThreadPool: Added num_workers member for clients to see.
Metadata: ram_usage_per_requested_pixel now assumes a 'pixel' includes ALL channels.
OpH5WriterBigDataset:
- Request blockshape is chosen using blocking hint metadata
- execute() is now a simple wrapper around a RoiRequestBatch helper.
- TODO: The code that chooses the request blockshape should be pushed into a shared utility.