RFR: Adding decrement and timing stats decorator

Adding decorators to decrement stats (rollback functions on errors) and a decorator to send the time it takes to run a function to statsd.

I gave it a 5 millisecond variance allowance, because some calls were randomly taking between 2 and 3 milliseconds  extra in some cases.