POC: add aggregate funciton top and bottom #409

Updated: 20 May 2014

This patch provides aggregate function top and bottom. these function are useful when executing analytics or summarize queries like:

```
select top(elapsed_time, 10), url from access group by url;
```

#### Added functions:

```
  top(column, limit)
  bottom(column, limit)
```

  `select top(value, 10) from series` will output 10 `value` values with descending order.
  `select bottom(value, 10) from series` will output 10 `value` values with ascending order.
  `select top(value, 10), name from series group by name` will output 10 `value` and `name` values with descending order (order key is 1st column. this doesn't support multiple sort).

supported column types are int64, float64 and string.

And, I'm not good at English and Golang. so if you find some wrong points, please feel free to comment it.