Fix http with/without compression tests and expose Scala collections only

Two issues fixed in this pull request: 

* #136 Compression tests should not have tested for content length. They were doing so and they were failing but the failures were not being propagated properly. It would have been messy to keep both sets of tests in the same code and only complete the test after both pass, so separated the compression tests to a different class. A simple tweak in the reflection calls allowed for methods to be found in superclass.
* #137 While reviewing the documentation I realised that we are leaking some java collections in the shared data and the header multi maps. These are now gone and we only expose Scala collections. Much cleaner.