initial import
experimenting threading/multiprocessing
removes verbosity from threaded harness, this will wome as separate status display management
tuning to new threading model. Starting to work great.
change queue size limit to deny early steps eating too much database resource if later step cannot transform fast enough.
underscore transforms var to avoid dumb override mistake
refactoring of new harnesses, a bit of interface "stabilisation"
add structure for status display feature (inc)
minor problem on unicode field names
minor filter change
Cleanup of harness API.

Adds IHarness and IStatus, along with AbstractHarness. The API is now damn
fucking simple. Basically, it's now:
 - __call__()
 - initialize()
 - loop()
 - finalize()

Adds a basic console status class that uses ANSI if available to display an
"animated" status of the current running harness. Expect to mess up your
console if anything writes to stdout.
add doc to base extract component, along with the ability to get stream data from a callable instead of a dict-like object.
cleaner output for hash representations.
log component now prefix its output with prefix/prefix2, to make it easy to identify.
deprecated transform.extract.file (no reason to statically configure an url when it can be read from the stream).
adds rdc.etl as a namespace package, so one can build extensions.
Cleanup of Join base class (doc + handling of None as join data)
Adds some error handling to XmlMap transform.
packaging details
enhancement in etl error handling, extract now understands an "empty" extraction.