Rearrange file and package per convention.

WIP - Please review but do not merge.
Remove timer.go and timer_test.go
Merge pull request #13 from prometheus/refactor/remove-timer

Remove timer.go and timer_test.go
Metrics explicitly implement Metric interface
Use raw string literals in tests
Registry and Metrics implement json.Marshaler

* Drop `AsMarshallable()` from the Metric interface. Use
  `json.Marshaler` and `MarshalJSON()`, and leverage JSON struct tags
  where possible.

* Add `MarshalJSON()` to Registry and remove `dumpToWriter`, which
  makes the registry handler much simpler.

In addition to simplifying some of the marshalling behavior, this also
has the nice side effect of cutting down the number of
`map[string]interface{}` instances.
Merge pull request #12 from prometheus/refactor/reduce-marshaling-complexity

Refactor/reduce marshaling complexity
Migrate documentation to markdown.
Merge pull request #9 from prometheus/refactor/user-experience/standardized-directories

Rearrange file and package per convention.