Detailed explanation of worker deployment configs,

especially add illustration of worker specific database
configurations. And extend DeploymentUtils a bit to handle empty
working dir.
More verbose messages in file delivering

Simple message display, but helped me a lot in identifying problematic
machines during the experiments in the last several days when the CSE
network was unstable.
Merge pull request #593 from uwescience/slxu-simple-enhancement-deployment-usability

Slxu simple enhancement deployment usability
Merge branch 'master' into slxu-fix-network-backpressure
Aggregator: rename to PrimitiveAggregator
Aggregate: port over to JSON-able interface
Aggregator: refactor into AggregatorFactory

Duh, we will need this for SingleGroupByAggregate and MultiGroupByAggregate
SingleGroupByAggregate: move over to factory-based, generic aggregator framework

And fix all the tests and other code.
Aggregate: simplify creation code
MultiGroupByAggregate: port to new AggregatorFactory-based format

And update callers/tests
PrimitiveAggregator: remove bitmask, replace with enum

1) users can now control the order of output fields.
2) catch bugs where incorrect ints were being passed in
MyriaUtils: better error messages from checkHasNoNulls
AppendtableTable: be a TupleTable

We need the generic functions to get numColumns, etc.
add WritableSubColumn to wrap a column of an AppendtableTable
Evaluators: switch from TupleBatch to ReadableTable

That's the real interface they expect.
Aggregators: minor cleanup w.r.t. exceptions

And schema generation
Evaluator: handle state-only expressions
BinaryExpression: fix a weird ordering issue

The test was also backwards. @domoritz am I missing something here?

When we run L < R, we want that to turn into
	left.compareTo(R) < 0. Correct?
The existing code did R.compareTo(L) > 0.
UserDefinedAggregator: initial version
UserDefinedAggregator: add tests

1) Count
2) Count with a constant output as well
3) an 'arg max'-like computation