Function Decorators for call timings

This allows one to use `def_timed` instead of `def` to define a function. That function will then transparently be wrapped with ExStatsD.timing/3.

```elixir
defmodule MyModule.Data do
  use ExStatsD.Decorator
  def_timed slow_function() do
    # This is a suspect function we wish to time.
  end
end
```

The README changes and the decorator_test show more detail.
Saw Issue #1. If that is fixed then this disabling of sample_rate options is not needed. 
I just thought that behaviour was by design, not a bug.