Fix parsing of multiple queries

Fix #885
Return an error if an invalid column is used to filter after a join

Fix #652
Fix case insensitive regex matching

Close #794

Conflicts:
	integration/data_test.go
Move cluster config from raft to API.

Fixes #853. Close #854. Previously, there was an unprotected endpoint in
raft to return the cluster config that would include user hashes. This
endpoint is useful for debugging purposes so I restructured it and moved
it to the API. It ensures the requesting user is a cluster admin.

Cluster config will now return all of the cluster state including
servers, CQs, shards, etc.

Conflicts:
	integration/single_server_test.go
Don't panic on invalid boolean operators

Close #714
Fix minus operator without surrounding spaces

Close #768

This patch isn't backward compatible since older version allowed the use
of table names with '-' without enclosing them. With this change, '-'
characters are disallowed completely unless they were enclosed in double
quotes. The parser can be made more complicated and be more context
aware to distinguish the use of the '-' character depending on the query
being parser, but I think the approach in this patch is simpler and less
confusing from the user's point of view.
Prevent invalid database names

Close #843
Fix #780 so that fill works with all aggregates

Conflicts:
	engine/aggregator.go
	integration/data_test.go
Fix the millisecond time precision in the client
Use double quotes in GetQueryString()

Fix #923
Fix a bug introduced in 25cc9793c28ca44d84f25bb1a93134ad1ded62c2
move the linker flags to profiler.go
Fix the test as a result of 25cc979

Conflicts:
	integration/multiple_servers_test.go
Fix sed getting confused by / in TMPDIR path

Fix #946. Close #948
Return an error if the storage engine can't be created
Don't automatically create shards

This was causing InfluxDB to create a new shard in the grafana db every
ten minutes. Also we talked about getting rid of this feature a while
ago, so here we go.

Fix #954

Conflicts:
	cluster/cluster_configuration.go
Refactor data_test.go to use Test* function names

Refactor integration/data_test.go to use Test* names for the tests
and remove the TestAll test case, which uses reflection to iterate
over all test functions.  Also, change the two SingleServerSuite
test functions in this file to DataTestSuite functions.

The DataTestSuite now conforms to standard Go / gocheck test
conventions.  Individual tests can be run.  Groups of tests can be
run by specifying patterns.  E.g.,

make integraton_test only=DataTestSuite

...will run all tests in data_test.go.  Or,

make integration_test only=DataTestSuite.Test.*Histogram

...will run all histogram related tests.

See the gocheck documentation for further details.

Conflicts:
	integration/data_test.go
Refactor the integration tests

Conflicts:
	integration/data_test.go
Add a test for #939
Fix median crash on null values or non integer values

Fix #939