Allow NewQueryEngine to return an error

Some errors only bubble up from pretty deep. A "SELECT COUNT(*)" was
ending up as a panic, when instead it should have been returned as a
query error to the user.

This adds plumbing for returning an error from NewQueryEngine.
Add ref counting to which leveldb shards are open so they can be closed after references released
Fix bug where I was deleting the shard reference before pulling out the shard to close it
Add test for max shards and fix bug in closing out old one
Updated ref counting to remove accessed shards from the list of ones to close. Updated the close to close as many as it takes to get below the leve
Merge pull request #301 from influxdb/ref-count-on-open-shards

Add ref counting to which leveldb shards are open so they can be closed ...
update the changelog
uncomment some of the engine tests that tested invalid queries
Merge branch 'plumb-nqe-fail' of github.com:zorkian/influxdb

Conflicts:
	src/cluster/shard.go
Propagate the error back and assert on the body of the response
update the changelog
remove some unused constants
Fix #316. Make shard hold access denied responses until all response channels are emptied out.
Merge pull request #324 from influxdb/fix-316-access-denied-goroutine-starvation

Make shard hold access denied responses until all response channels are ...
update the changelog
add a test to make sure invalid time group by interval don't crash the server
Fix #315. Make delete queries not use WAL. They should instead use Raft to replicate.
fix a typo
cleanup default start and end time code
fix #233. Put back the code that limited the delete batch size