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
Parse big int in query's where clause properly

Fix #964
bump the timeout to 20m :(
Remove an unused test
update changelog
Fix a test that was broken by @pauldix