Don't write points if they are too old

Background of the bug: Prior to this patch we actually tried writing
points that were older than the retention period of the shard. This
caused race condition when it came to writing points to a shard that's
being dropped, which will happen frequently if the user is loading old
data (by accident). This is demonstrated in the test in this commit.This
bug was previously addressed in #985. It turns the fix for #985 wasn't
enough. A user reported in #1078 that some shards are left behind and
not deleted.

It turns out that while the shard is being dropped more write
requests could come in and end up on line `cluster/shard.go:195` which
will cause the datastore to create a shard on disk that isn't tracked
anywhere in the metadata. This shard will live forever and never get
deleted. This fix address this issue by not writing old points in, but
there are still some edge cases with the current implementation, at
least not as bad as current master.

Close #1078
add #1092 to the changelog
add some docs
use syslog only when running under linux or osx

Close #937
Replaces sudo with su in init script

http://stackoverflow.com/questions/8940771/switch-user-in-a-init-script

Fix #800. Close #1017
update the changelog
Don't try to close the protobuf server if it's not open

Fix #584
update travis email notification and go version

- Travis now notifies on failures only
- Use go 1.3.3 and 1.4beta1
- Get rid of the old hipchat notifications
Return an appropriate exit code if the daemon exists because of errors

Currently we only return an exit code of 1 if an error occurred,
otherwise an exit code of 0 is returned.

Close #1008
Make sure all services are stopped properly

Close #663
Don't emit the time condition for single point queries

Close #925
Determine if we should use sed -i or sed -i ''

Close #671
Check for valgrind and mercurial

If valgrind isn't found, `make valgrind` will be disabled. Otherwise it
will run valgrind to make sure the parser doesn't leak any memory. If
mercurial isn't found an error will be displayed and configure will
abort.

Fix #978