Performance improvements to spiral, counter, histogram & spiral_uniform

Changes include:

Partition counter and spiral writes by erlang:system_info(scheduler_id)
and a bitwise mask. There is also potential for better cache behavior
given the fixed mapping between Erlang scheduler thread and partitioned
key.

Switch spiral and slide_uniform from ordered_set to set. Set supports
fine grained locking whereas ordered_set requires a full-table lock.
Combining set and separating values greatly reduces ETS contention.

Change histogram to avoid an ETS insert if the sample passed into the
histogram update function matches the result.

There are 2 places in folsom where an ets:insert_new is done immediately
followed by an ets:update_counter on the same key. Since, in the normal
case, the key is likely to already exist, this can be optimized by
trying the update_counter first in a try/catch and only do the
insert_new if needed. This is provided as a utility function called
folsom_utils:update_counter().

There is a bug in slide_uniform where it would not decrease the
probability of doing a write the more updates it received in a
particular moment. Effectively slide_uniform updates would always result
in a write. This bug has been corrected, along with the Quickcheck test.
Merge pull request #45 from basho/adt-speedups

Performance improvements to spiral, counter, histogram & spiral_uniform
Expose the clear/1 fun from counter in the folsom api

Conflicts:
	test/folsom_erlang_checks.erl
Merge pull request #46 from basho/rdb-counter-clear

Expose the clear/1 fun from counter in the folsom api
Improve performance of slide histogram

Partition slide histogram reservoir by erlang:system_info(scheduler_id),
as previously done with counter and spiral metrics.
Fix EUnit failures that should've been fixed before merging jdb-faster-slide

* Avoid EUnit-enforced timeouts with prop_window_test_()
* Change folsom_sample_slide_test.erl to avoid failure like https://gist.github.com/272dc6bcd2478484bffa
* Fix sorting bug Russell sees but I don't, sorry!
Merge pull request #47 from basho/jdb-faster-slide-eunit-fixes-squashed

Improve performance of slide histogram
Fix eunit folsom_erlang_checks test
Add a error tolerance notify method

If folsom_sup is crashed then folsom's ets tables are deleted. In this
case notify method raise the exception. I added error tolerance method
to reduce the folsom's influence to the application code.
Merge pull request #49 from avasenin/fix-eunit-tests

Fix eunit folsom_erlang_checks test
Merge pull request #50 from avasenin/safely-notify

Add a error tolerance notify method
Added grouped/tagged metrics feature
Fixed a small issue in grouped metrics unit tests
Added untag_metric/2 API call, updated unit tests accordingly, small improvements
Merge pull request #51 from AlexandreBeaulne/groupedmetrics

Added grouped metrics feature
Remove ineffective assertion in duration test.

Erlang's timer:sleep/1 is inaccurate enough on some systems to cause this clause
to regularly fail.
Merge pull request #52 from banjiewen/master

Remove ineffective assertion in duration test.
bump bear to 0.1.3
replace use of now() with os:timestamp()
Merge pull request #54 from tsloughter/master

replace use of now() with os:timestamp()