Cleaned up assembler logic.

This is still not fully implemented.

Main porpouse is not dealing with make fun, and just starting all
workflows items explicit.  It forces all workers (workflows) to use same
interface (bahaviur) of `start/2` function; which they already more or
less do.  In adition now we can delegate parsing of arguments to workers
themselws; so when their API changes (or grows) we will not have to
change assember itself.

Wright now only `item_to_module/2` function is not perfect, but such
expilicit returning will allow inserting user-created workers (modules)
into the workflow itself.
Removed unnecessary reqursion.

`run/2` is called only from one place and only in one way; there is no
need for this pattern mach.
REFACTORING changed order of functions in file for better top-down readability.
Fixed sk_seq worker.
Specs and documentation update.
Fixed sk_pipe module to satisfy changes in sk_assembler.
Updated specs and documentation
Fixed `sk_farm` module to satisfy changes in sk_assembler.
Specs and documentation update.

`spec` directive was moved between docs and function itself, similar to
convention.
Moved spec to proper place.

While it makes no differene for dialyzer itself, by convention spec are
placed between function and its definition.
Fixed `sk_ord` module to satisfy changes in sk_assembler.
Specs and documentation update.
Renamed test module to reflect new Skel API.

While test function was using new `cluster` workflow, file itself was
still named after old `decomp`.
Fixed `sk_cluster` module to satisfy changes in sk_assembler.
Updated specs and documentation
Fixed `sk_map` module to satisfy changes in sk_assembler.
Specs and documentation update.
Fixed `sk_feedback` module to satisfy changes in sk_assembler.
Specs and documentation update.
Fixed `sk_feedback` module to satisfy changes in sk_assembler.

At this point all unit tests are passing.