Fix NPE when using CLI-overridden custom parameters.

If you used -D to override a custom configuration (one not included in Configuration.java), we get a NPE.  This fixes that.

Basically, there is no original to backup, so don't.
mark a todo regarding Metric.Types.
Changes required on existing classes to make them accessible to other packages.
Sample UDP Ingestor.  Needs tests.
move `compile` plugin to parent pom so every module shares the same settings.
merge from master, fixed a conflict in master pom.xml
support bundles of metrics (instead of just one).

Drop and log bundles that cannot be deserialized (like when UDP max packet size is reached, but the sender doesn't know and only sends a partial bundle).
avoid race where multiple threads could get started.
Merge branch 'master' into udp_ingestion
update udp pom
test to verify that the active/inactive semantics on `ShardStateWorker` work as expected.
start/stop for ShardStateServices
Merge branch 'master' into udp_ingestion
update UDP pom to 1.0.4-SNAPSHOT.
A more predictable shardStateWorker test.
Merge pull request #86 from gdusbabek/udp_ingestion

UDP Ingestion