Release of 1.5.0-rc.4

- 56680f77d61bf1e575cfb023d2a1131f27b2d9aa: Merge pull request #1099 from mattrjacobs/fix-dashboard-rc3
- 8339eef682d56dabddd1b65f66693188f149f557: Removed dashboard references to latenctTotal_mean
- c7027d19fd79e31458c9d1867c5a7f3363d5eafa: Update CHANGELOG.md
- 5bf9d3045a1d165088c39c533dd813f0531302b8: Merge pull request #1097 from mattrjacobs/exclude-wars-from-pom-rewriting
- 40d01463f280e7f4ac66cb16e5445db29839e048: Special casing the 2 WAR artifacts to not have POMs rewritten
- bc86bdb3ae3bd4c847abdb71f5d05c28385f6805: Merge pull request #1096 from mattrjacobs/upgrade-rx-java-1-1-1
- 95512a5eea318e33d21e79694e777117a9bcef16: Upgrade to RxJava 1.1.1
- 811aaa6ca1830891133b0d4ba9e25a56de244b40: Merge pull request #1095 from mattrjacobs/upgrade-netflixoss-3-2-3
- 4d6983e931f9fccd6d5413efcfdcbc33dc285a59: Upgrade Nebula netflixoss plugin to 3.2.3
- c0f668ab7d4a0aaf3fe561eb630be222889e5be2: Merge pull request #1083 from agentgt/master
- a1bc5d8fe7d2b12618637d7aac9b502473aa8e57: Updates based on @mattrjacobs comments
- 664430f8865773f4215936bf6fed756e2964ce2e: Add system property to pick HystrixDynamicProperties and made Archaius Helper more private.
- bf32220b13d59e6afc1e07b4913c0940abbf7a27: Merge pull request #1094 from mattrjacobs/upgrade-netflixoss-gradle-3-2-2
- b2281734bc416340aaf58a7ecbaf7c21225117f6: Upgrade netflixoss Nebula plugin to 3.2.2
- ec642b060f1191865dfbc4bba93d75cd4ad9a9bd: Merge pull request #1093 from caarlos0/request-cache
- 63630517c25ec6d1177a65efa47bde95a08a717e: improving message
- 58460925e2f438007ed8a5259db920df63c233ac: Improved implementation, fixed build
- f8da6aa2dc25057555aa5251283c1bc152a639c1: Fixed NPE on request cache when HystrixRequestContext is not initialized
- ab456d90ca0a24389048aa637d256a0c9e9f9ba7: Fix unit test.
- cae8191f7e81354d42f6044234fb892e271ddcd5: Simplify chained properties and expose less public methods/classes.
- 5d0e7aea44c7ea9c802094a85549b43e14201738: Fix for backward compatibility with Hystrix 1.4
- 1b4c67660d10c32e8ec89aec6cb811e3c5799659: Merge pull request #1084 from mattrjacobs/update-nebula-3-2-0
- a578774f735eba3f02875ba98eb85db36a47c102: Merge pull request #1081 from mattrjacobs/cleanup-javanica-bad-request-docs
- e5075b0c89d7b3abbf6eadf3ad413aa9a74e4523: Added lazy loading and unit tests.
- c7818a5e4d84a9f2aae2178db69c03b9dcdb7d4a: Updated Nebula plugin to 3.2.0 and Gradle to 2.10
- 59a3c91a6102bdf62742d62606cebbc2b387d3ca: Fix documentation and some code cleanup.
- 27b6fe10e22af50f0b582d3fe6548b3622b6bc76: Make Archaius a soft dependency through reflection and improve plugin loading. See #970 #129 #252
- 8fc99b3c691480f2403a3cc7c4dd4bf881a4475e: Removed reference to wrapped HystrixBadRequestException in javanica docs
- 4900b4d6c69f08cf903054f01bc586a502407a5f: Merge pull request #1080 from mattrjacobs/make-json-test-more-resilient
- c8ce4f7715c942f7dec9a90749fb1815eafcc91d: Allowed for variation in JSON ordering in unit test
- b7c48325a768027d993b8a54af87d338819f368c: Merge pull request #1079 from mattrjacobs/reduce-threadpool-dynamic-property-lookup
- f4f1473ce65c05da55ddb51f375656a7a603dd98: Eliinated a dynamic property lookup from HystrixThreadPool
- 6b97ee5a405883249eeb11a84b1b3cfbe0e4faac: Merge pull request #1078 from mattrjacobs/move-deduping-logic-from-json-to-core
- 3c4bda7fa28dbc245f23cfc7e5eb833475c44bbf: Move logic for deduplicating commands in a request from the JSON serialization to the model object
- fbed295e1bb2e6af9ff714c2510d7acda68fcbd8: Merge pull request #1077 from mattrjacobs/rename-thread-concurrency-metrics-consumer
- 16ea656be2f57dc934735f45fead82b0685259bd: Renaming thread pool max concurrency stream, for consistency
- dd09d8d3d04ead4611f96d69763a5970d31d4a42: Merge pull request #1075 from mattrjacobs/deprecate-user-thread-latency
- cf3d12f8698cd28ea0350c110f3553975b2b832b: Deprecate methods to retrieve userThreadLatency, and remove it from standard metrics being published
- 20ae3dc3ed0273e7e21fdec52e72992b40737035: Merge pull request #1073 from mattrjacobs/modify-output-for-requests-stream
- 895314ed6c5c7cd43808e39e3ee9a95f78d61935: Added unit tests for requests stream JSON and modified output format
- 35242d34c0555e3464fd7180a1f98b9a79df5d20: Attach collapser key to HystrixInvokableInfo
- 80e88a89aca8fcf80b6d7e63ca6e66e1d931c07f: Remove request context, and de-dupe response from cache from RequestEvents stream
- 51291c5ba2f0eb9e6161ff1ad23847a6d6a56fd4: Merge pull request #1072 from mattrjacobs/remove-request-id-from-request-events-json
- 2c06b36c650389cc5b0aff49eb60125f2b0b4c0b: Remove requestId from request events JSON
- 26db2f7ce9e16de220510e5fa4ce0fee7bcc26b4: Merge pull request #1071 from mattrjacobs/remove-sun-misc-cache-import
- dc4587b572b3ab219168e0022d6450133b07341d: Remove accidental import of sun.misc.Cache
- 920962a7dba26d98f837a6dfe0e467a9d0341cac: Merge pull request #1070 from mattrjacobs/rename-hystrix-request-event-stream
- ee797598a1c7ea783f837f069eb9c39a1ee49c43: Missed changing a method name reference
- ef0b928704d036c097e5f9f773e668c6f348281d: Added a JSON converter for a single request in HystrixRequestEventsJsonStream
- 9895fb92c5b38bc83bff65edeccc7e087dd1f261: Rename RequestEventsJsonStream  to HystrixRequestEventsJsonStream
- 89b988d33fc897fc2ed275226a7a1465e07499a3: Merge pull request #1069 from mattrjacobs/deflake-concurrent-count-unit-tests
- 14d06377b09c3240a899d4f0326b82771330464d: Differentiate HystrixCommandKey passed into some unit tests in HystrixCommandTest
- f21f4a7868cb56bc8bb4bc1674c2d6bcfae54fc8: Merge pull request #1068 from mattrjacobs/decouple-request-stream
- 1a303600ed618cb7c34a2bf8140297b6cde38a4c: Decouple RequestEventsJsonStream from servlet
- 523d997b1dde3dfc2c824a27b939d268844f4cc9: Merge pull request #1067 from mattrjacobs/decouple-sample-streams-from-servlets
- e578b29365eacff584b95b723f1fa9cdb3784044: Decouple SSE servlets from the streams that produce JSON to allow alternate methods of consumption
- bc7d01a82c2e401c12d66b3c6c05c16ff89702bf: Merge pull request #1066 from mattrjacobs/appengine-thread-factory
- c99c515658d1b73c1487a9d13d90971c837cf12b: Merge pull request #1065 from mattrjacobs/deflake-rejected-hc-test
- 7ced272c236d2daf6e82e4f062b71d889188d376: Added PlatformSpecific class that can detect if it's running in AppEngine. * If so, provide the AppEngine-specified ThreadFactory
- bd40f20464c17602eab0c843f54dd7954cdbf8b9: Made HystrixCommandTest.testRejectedThreadWithFallbackFailure more repeatable
- 7b54e5f3c6a0604a9dd7419534e86b7e534f66af: Merge pull request #1064 from mattrjacobs/safer-enum-references-in-metric-consumers
- 848b8104c522d1ebea6a407dcae9e490bdb223dd: Protected hystrix-yammer-metrics-publisher from version mismatches
- c3972731185f88aeb312a043646db2bdf05de3f3: Protected hystrix-rx-netty-metrics-stream against version mismatches
- 1724284f663578b7c65350a3263da7e9685fac1b: Protecting hystrix-codahale-metrics-publisher from version mismatches
- 03a809d5d9bc640c4c5c7b36c714811709c97ada: Made hystrix-metrics-event-stream resilient to version mismatches
- ef6e9f0c71cbfbf09f7aca9818362db5e43a61a8: Making Servo references to enums lazy to prevent NoSuchFieldError, if possible
- 2bae17d00df47cb16d42e9705fd5eac663ca868a: Merge pull request #1061 from mattrjacobs/buffered-request-stream
- fc10998b97c41468de2628aea8f357b25566cfb5: Added buffered SSE request stream that emits a collection of requests on a timer
- 6b857d094f86236e0e75afdf159d6b5142b34e31: Added parent class to encapsulate shared SSE logic
- 7c33691135b96281bccbe063f247b858515f394f: Added utilization SSE stream
- 6d4bfe38e7834b57b0ace17fe4d79394122dbea9: First pass at config JSON SSE stream
- bf2e576c4c6b4ae89e4df8aa9c0657a5851e5f43: Added configuration data objects and a way to stream them out on a timer
- 56ef8c2d2a5b840aa9f7533c0fd1b865c6ec59ef: Merge pull request #1056 from mattrjacobs/deflake-slow-cacheable-command
- 754f1dff0ddebe9a6b2e3f8396fbe24a7813fb92: Use separate key for SlowCacheableCommand in HystrixCommandTest and HystrixObservableCommandTest
- 2deaa92e3c7dfbd5eb11353a5833b183c5f6f3ab: Merge pull request #1055 from mattrjacobs/deflake-pool-filling-tests
- 8e50980bc40e246bc3ee0996f0c3be675a640d8a: Converted some timeout tests in HystrixObservableCommandTest to use distinct keys
- 04ce80153924dacaed3e4bb8ee8fa6634e58231d: Made HystrixCommandTest.testRejectedThreadWithFallback more deterministic
- 1fb240796b4a82c4e2703f1109e0b80b8e0971a2: Merge pull request #1050 from mattrjacobs/cleanup-command-construction
- 58e8bed36db4b69937859a0a8228221f18fb289a: Using distinct keys in HystrixCommandTest and HystrixObservableCommandTest - should help deflake getConcurrencyExecutionCount unit test assertions
- 6240eb58109ec0992302acc3f655a819ef3c1fd1: Deflaking more unit tests
- 87027a2a8002ed81554fb7fe5923a2bc4d1f3583: Deflaking testSemaphorePermitsInUse
- d3d5b6e41a5505b64d56f874bde35b28915e46ae: Modularized command constructor logic to make it easier to read
- 82552f8713099696a176d802e399cee550cf0946: Merge pull request #925 from ianynchen/master
- de35e92840267d4fd484d715b79b745113f81d02: Merge pull request #1047 from mattrjacobs/1.5-initial-commits
- ce6c0b224780925028deedfa0a7e64e6b5886338: Update CHANGELOG.md
- 0dac15bb3a5409ed4cf5890c5964a4ff75b1f79f: Merge pull request #1049 from mattrjacobs/cleanup-unused-imports
- c721ad97a996c724313d0f1cf182cdc38ab8f589: Cleanup unused imports from #1032
- 968ed46abbc1e6db07bce6d5abae75fd67f1b247: Separating out commands in ServoCommand unit tests, so that they may be run concurrently
- b686eb1795fb67cb4595aa510ca6d06b39698ab9: Added missing licenses
- a0a976857f4ac832b992f8cb244b61f0cc4f4133: Making Servo cuulative counters test less flaky
- bf816341b7603651d623722b18ae0f3413734289: Consistency between work being performance-tested in metrics-read JMH test
- aa43d684ebfab1e6c8fb1578e8aef21bee7aada9: Updated documentation to be clear that event writes happen synchronously
- 85cf134f063549870bb4c8c12ab85686ab8f2627: Fixing imports in CommandExecutionPerfTest
- ef2517b7b2d2556f54b207e541a2d978836ddd33: Clean up JMH config
- 5150ef41996baeabd3ecb60b6458381f7576ffc9: Cleaned up unused imports
- 5801e5b068dec8c46181e2042c29440537eb67c3: Introduced a threadsafe wrapper aroun Histogram (CachedValuesHistogram)
- 165e278032751907a9c5b7c5ba3f1f9febb4db48: Updated metrics calls from hystrix-metrics-event-stream
- f20b8ff641cbf6da18f9770a429a731b8e788702: Cleaning up Servo usage of metrics
- 3d180d324f583174d9575840525fc8bd1e8678d0: Moving provided metric consumers into a separate package
- f76263dc76d9ec3c833a0b80499208784fe01f94: Fixed max-concurrency streams
- 0ca5067c4a8ae5231ab0966dab8df0b52b45b98b: Decouple metric stream creation from subscription.  This allows only the work that's needed to be done
- f288c0dca9f49e558ac655c4daf2fc2cf63d700c: Refactored command latencies to extend RollingDistributionStream
- 7f42f12885992957efbbed5d879d92e245f89099: Cleaned up release logic in RollingCommandLatencyStream
- 8a283e60da52e18bb3ba3c6aa00522ea25e21be4: Using dedicated write-only subject and multi-cast read-only Observable for event streams
- 1712c74dba0a68bb43d43fc490ffed5c8583887d: Added HystrixEventType.ThreadPool enum
- d90dc531c6e6ddfa03f7f8cabeacbaedf823292f: Added Collapser counter metrics
- ade2b66afd31138ded749eaa9ffdb42ecf334829: Performance work
- eb2ede5d801fb94fe1d6290fb08850582f379168: Removing stray println
- 6aacadc0dc552f87a703e31bee011ca31468f1b6: Unit tests for streams and some changes to make streams more testable
- 37a1695a1ea70eeb85c9e7929ec698237fc1e040: Generalizing command concurrency to event concurrency and wired it up to thread pools as well
- 11550a13d902da4b1a9c47048a61593738d084c3: Refactor to generalize concept of bucketed streams so that commands/threadpools can both share them
- 69151a2f3f36ca09c42ff5ad4038e9c86c1a0e9f: Upgrade to RxJava 1.1.0
- 2ff16ff5c732cf0c81295eef7f0f86c82b136ea1: Modelling command max-concurrency as a stream
- 3e8cb9418f3715cbb52e468ee4443ecfb01fb03a: Bugfixes to accurately count only executions on a threadpool and threadpool-rejections
- eae1f0a980d0bd8b49778618f7916f4338f7842f: Converted counters in HystrixThreadPoolMetrics to read from existing command execution stream
- 0fb3b04e0146d43ab841525d795392863ca85961: More minor cleanup
- 434e7569a8b0cb9feda7d005ad42fbd7a033a2b8: Ensure only a single thread can reset the command health stream
- a68a0bc6c8d94513a5cb672f6553d1b1a3d348b9: Cleaning up logging and adding some comments to how streams are being used for HystrixCommandMetrics
- e40dcab0ee0f101140fe9b2de5d218930aeaad84: Only calling 1 constructor per metric-stream
- c53ba5d90ea701870d82987b9a9f3ae6906c5b75: Fixed thread race in HystrixCommandEventStream construction
- f06fca28f2799543a9d5b89af920efa53bab9b90: Track execution result of RESPONSE_FROM_CACHE
- 747421740a1457c2de87b75c94f688c126efefbf: Calculating EXCEPTION_THROWN count from other HystrixEventTypes
- aaa966235cd8f04b994f4126489cb5b67d0b2599: Removed individual event writes from HystrixCommandMetrics
- 3c06a6532a11e3c86c255e89a6668c4a92051690: Stop writing to HystrixRollingNumber for event counters (cumulative and rolling)
- b4b9581603b60b8653394f12d3a64c13d7b780d0: Added object pooling to HystrixLatencyDistribution
- 757c3895b3ac30e81bceae7ba19d6ed6cea50eef: Changing model from the first level of event writes being command-level, to thread-level. * Added global-level stream as a way to recover command-level streams
- 86c37f10de377006b7361813155dcced297cd45c: Decreasing memory allocations
- fa4b7e2c1e9afc0789c21c79170f77c280224ac7: Wired HealthCounts up to HystrixCommandEventStream. * They get calculated only on health count intervals
- 745eeaa1232f52a9e59016dcf4ff6c32d65098fa: Reading from rolling percentile subject for latency metrics. * Added HystrixServoMetricsPublisherCommandTest as a concrete unit test that behavior is still correct
- e4c4c883e6c71e7133b6e0a8d7c13ab10b7734a7: HystrixCommandMetrics buckets metrics and writes them to Subjects for querying
- fa31912cea4406a70c1237372bb557692de92ed3: Write command completions to HystrixCommandEventStream (still writing to RollingNumber/RollingPercentile as well)
- a42bb76f87d4a8f04ddf55f5b65c4d853dc99563: HystrixCommandEventStream that models an infinite stream of HystrixCommandExecutions
- d3a64df4f2a30d812bc17c1c1acfbed48886cbda: changed HystrixThreadPool.getExecutor() return type from ThreadPool to ExecutorService in order to support parallel universe quasar
