Disruptor queue metrics (#613)
* Added new metric type, 'StateMetric', to report direct metrics of anything that meets the IStatefulObject interface
* Added methods for population, capacity, and read/write head positions to Disruptor Queue; gave it a getState() to make it IStatefulObject
* Register the transfer queue and the send and receive queues for spouts and bolts (note: there is currently one metric per _task_, each documenting its executor's queue).

We cheat and register the transfer queue in executor.clj because within a Java implementation of the bolt (specifically, the System bolt), we don't have access to the executor data -- we need a TopologyContext, which is only prepared for tasks. If there's a way to get this, please advise.

Note that the code is (knowingly) not thread-safe: it's possible for the write position to move between getting the read and write head positions, but in practice it shouldn't change the actionable value. We do make sure to get the read and then the write so that it is never an under-estimate of the capacity (or negative).
Ignoring a FileNotFound excpetion that can bring down a supervisor.
ui and log viewer send proper html pages
Moved exception handling to rmr.
Wrapping all curator exceptions in RuntimeExceptions.
Merge branch 'nmarz-master' into WrapNonRuntimeReportError
Now only wrap exceptions that are not RuntimeExceptions.
Merge pull request #671 from revans2/WrapNonRuntimeReportError

Wrapping all curator exceptions in RuntimeExceptions.
Merge pull request #667 from revans2/FNF-fix

Ignoring a FileNotFound excpetion that can bring down a supervisor.
Merge pull request #633 from infochimps-labs/metrics_disruptor_producer

Disruptor queue metrics (patch for #613)
Merge pull request #669 from d2r/d2r-html-template

ui and log viewer send proper html pages