Threadable interface

This branch improves the multithreading API, in particular adding a `Threadable` interface as discussed in issue #5. The `Function` interface initially implements `Threadable`, since we couldn't think of a function that shouldn't be used from inside `Parallel` ops. (This can later be split into `Function` and `ThreadableFunction` if that turns out not to be the case.) It also refactors the `imagej.ops.threading` package to `imagej.ops.chunker` for consistency with the ops naming scheme.

What this branch does *not* do is update any parallel ops to call the `getIndependentInstance()` method of `Threadable`.

@dietzc: can you please:
A) Review this branch;
B) Merge if you like; and
C) Update the parallel ops to use the `getIndependentInstance()` method as appropriate?

And as always, let me know if there is anything else I can do to help!