fixes for passenger in production mode

-  ENV is the correct place to look for headers under passenger
-  When we are proxying requests to candlepin, the request body sent
   to katello is not a StringIO anymore, it is a Passenger::Input::TeeInput.
   When RestClient tries to log the request it read the input and then calls
   seek(0) to reset the stream.  TeeInput has no seek() method, but does have a
   rewind method. This adds a monkey patch to translate the seek to a rewind
Rubocop: Fixing error by updating gem

Fixing the error: undefined method `color' for ".":String. This was caused by a
gem requirement in rubocop and was fixed in 0.17.
we should not have an openjdk package here
new activation keys based upon candlepin

Based on initial glue work by @mptap, this converts the subscription part of activation keys to use candlepin. UI converted to nutupane.

Separate pull-requests upcoming:
+ system groups in UI
+ more angular tests
+ api tests
Merge pull request #3663 from daviddavis/update-rubocop

Rubocop: Updating gem to fix error
update lucene to 4 for new elasticsearch
Merge pull request #3668 from jmontleon/lucene4

update lucene to 4 for new elasticsearch
Merge pull request #3665 from jmontleon/remove-openjdk

we should not have an openjdk package here
Merge pull request #3587 from thomasmckay/mptap-ak-clean

new activation keys based upon candlepin
Merge pull request #3659 from jlsherrill/tee

fixes for passenger in production mode