Close #551. Fix #409. Add aggregate funciton top and low

this patch provides aggregate function top and low. these function are
useful when executing analytics or summarize queries.

Added functions:
  low(columns..., limit)
  top(columns..., limit)

For instance:
  `select low(value, 10) from series` will output 10 `value` values with ascending order.
  `select top(value, 10) from series` will output 10 `value` values with descending order.

How to build:
  go get github.com/ryszard/goskiplist/skiplist
  go build src/daemon.go

Currently, these function support float64 and int64 types.

Limitations:
  * can't handle same value correctly (goskiplist limitation)

Misc:
  * each column should support alias.
    e.g) low(score as low_score, 10)

And, I'm not good at English and Golang. so if you find some wrong
points, plz feel free to fix it.
modify some tests
more idiomatic go
Merge branch 'pr-551'
update the changelog
fix a log statement
add some logging
Fix #555. Fix a regression in d593348 where the snapshot format changed
remove newlines from log statements
update the changelog
Fix #557. Using group by time(1y) doesn't work while time(365d) is fine
Fix #460. Don't start influxdb automatically after installing from pkg
Fix #529. Don't run influxdb as root
fix the style of the changelog
Close #547. Add difference function
Fix #550. Fix tests on 32-bit ARM
update the year in the LICENSE file
Fix #524. Arithmetic operator and where conditions don't play nice
Close #561. Fix missing query string in parser errors
Fix #563. Add sample config for graphite over upd