fix jmh build config

This is now working from command-line and Eclipse
Merge pull request #991 from benjchristensen/jmh-build

JMH Benchmark Build Config
Migrate Pre-JMH Tests to rx.archive
JMH Benchmarks Gradle Config

- this allows running benchmarks
- config is hardcoded right now
- wasn't able to get uberjar/shadowjar functionality working (https://github.com/Netflix/RxJava/pull/963#issuecomment-38770680)
Perf Tests with JMH
Merge pull request #993 from benjchristensen/perf-tests

JMH Perf Tests
Support Custom JMH Args
Merge pull request #995 from benjchristensen/jmh-args

Support Custom JMH Args
Produce a shadow'd jar for the performance benchmarks
tabs to spaces
Merge pull request #996 from rspieldenner/perfshadowjar

Perfshadowjar
Func0 can transparently implement java.util.concurrent.Callable.

This change doesn't change the API at all for users of Func0, but it makes all Func0 objects immediately reusable with any JDK API that accepts Callables. For example, a Func0 can now be submitted directly to an ExecutorService for asynchronous execution. It also allows the elimination of a small amount of redundant code within RxJava itself.
Merge pull request #1003 from rickbw/callable-func0

Func0 can transparently implement java.util.concurrent.Callable.