Make all scala rich stubs have apply method instead of specific name

Before, MapStub required the user to specify a map() method, now they
specify an apply() method. This is more in line with how Function1[] and
so one works and also the same across all operators.
Add deferred updates to workset iterations (issue #21) and fix chaining of iteration state updates (issue #123)
Formatting and minor cleanups in iteration code.
remove discoveryManager
yarn now also starts the web interface
extended pact-client to nicely support remote execution.
unified 'run' and 'remote' in pact-client
Fix issue of selecting wrong class loader in combiners.
fix minor build issue: deploy uber-jar only if yarn version is build
Allow empty paths in FileInputFormat to fix a problem with the job preview
Optimizer handles deferred solution set updates.
Clean hash join shutdown on cancel case.
Reduced test logging verbosity.
Fixed accidentally committed log level change in local executor.
Job Graph Generator and Optimizer logic for generalized iterations.
Adapted iteration tests to modified parameters.