Synchronize Close(), fix race conditions.

Close() was not synced through the main dispatcher loop, so it could close
channels that were currently being written to by methods called from said
dispatcher loop. This leads to a crash. Instead, Close() now writes a
closeRequest, which is handled in the dispatcher.
Fix regex filters to match complete string.

If someone specifies

  service = "foo-service"

...they probably don't want it to match:

  service = "foo-servicebar"
Add initial aggregator tests.
Remove unused timer.
Move aggregator scenario tests to separate type.
Add BUG comment about aggregator draining.
Run go fmt.
Merge pull request #2 from prometheus/refactor/aggregator

Fix bugs in aggregator and filters, add initial tests