Catch exceptions when processing expired events
Merge pull request #97 from pyr/fix-graphite

Do not try to encode back packets in protobuf when talking graphite
Merge pull request #96 from pyr/fix-fatdeb

produce unique names for snapshot debs
Tell travis to ignore gh-pages
Add graphite client protocol, add UDP support
Merge branch 'master' into graphite-improvements
Link to riemann.io
Change send! to send-line, add documentation for :protocol option, better docstrings
Add delete-by stream primitive and test case
Merge pull request #100 from campanja/catch-exceptions-expired

Catch exceptions when processing expired events
Refactor riemann.transport.tcp

Tries to clean up the coupling between the TCP and graphite servers by
decoupling the netty handler into a generic wrapper and a
server-specific handler function. Ugh, this lifecycle stuff is getting
out of hand.
librato/safe-name: fix a bug which broke metric name escaping

Invalid characters which were replaced and changed the length of the
string caused safe-name to (sometimes) call subs with a length larger
than the string itself, throwing an exception.
Ignore site/
Fix incorrect method name.
Merge pull request #107 from PeterScott/master

Fix graphite-server method name bug
(rate) emits events constantly.

Rate used to emit events only when it received events. I've rewritten
rate to emit events with zero metrics when no events arrive in a given
time frame. In addition, event TTLs decay correctly when no events
arrive, so rates will continue operating while the ttl is valid, then
shut down correctly when the index expires their output events.

I need to rewrite some other real-time streams (e.g. percentiles,
fill-in) to have similar behavior.
Merge pull request #101 from lwf/graphite-improvements

Graphite client improvements
Merge pull request #102 from campanja/delete-by

Add delete-by stream primitive and test case
(streams/delete-from-index can also take a predicate.

Merges delete-by's behavior into delete-from index. (delete-from-index
index [:host :state]) is a stream which deletes matching events from the
index.
Remove streams/delete-from-index and streams/update-index.

Nobody is using multiple indexes, and having 3 copies of these functions
was getting confusing. riemann.core deletes and updates a core's index,
and riemann.config proxies to it. Configuration files will be unaffected
by this change, unless they explicitly referenced
streams/delete-from-index or streams/update-index.