Fix hostnameVerifier using a config Option[Class]

Use Play.application.classloader to load hostnameVerifierClass, change parser to use "ws.ssl.hostnameVerifierClass" and change SSLConfig to take a class instead of a String.
Set the test suite to be sequential

17:49:51,524 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:16 - RuntimeException in Action for tag [configuration] java.util.ConcurrentModificationException
	at java.util.ConcurrentModificationException
	at 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
	at 	at java.util.HashMap$EntryIterator.next(HashMap.java:834)
	at 	at java.util.HashMap$EntryIterator.next(HashMap.java:832)
	at 	at java.util.HashMap.putAllForCreate(HashMap.java:435)
	at 	at java.util.HashMap.<init>(HashMap.java:225)
	at 	at ch.qos.logback.core.ContextBase.getCopyOfPropertyMap(ContextBase.java:68)
	at 	at ch.qos.logback.classic.spi.LoggerContextVO.<init>(LoggerContextVO.java:46)
	at 	at ch.qos.logback.classic.LoggerContext.updateLoggerContextVO(LoggerContext.java:86)
	at 	at ch.qos.logback.classic.LoggerContext.putProperty(LoggerContext.java:92)
	at 	at ch.qos.logback.core.util.ContextUtil.addHostNameAsProperty(ContextUtil.java:75)
	at 	at ch.qos.logback.classic.joran.action.ConfigurationAction.begin(ConfigurationAction.java:57)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:275)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:147)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:129)
	at 	at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
	at 	at play.api.Logger$$anonfun$configure$3.apply(Logger.scala:255)
	at 	at play.api.Logger$$anonfun$configure$3.apply(Logger.scala:255)
	at 	at scala.Option.foreach(Option.scala:236)
	at 	at play.api.Logger$.configure(Logger.scala:255)
	at 	at play.api.Application$class.$init$(Application.scala:272)
	at 	at play.api.test.FakeApplication.<init>(Fakes.scala:211)
	at 	at play.api.test.WithApplication$.$lessinit$greater$default$1(Specs.scala:20)
	at 	at play.api.libs.ws.ssl.DefaultSSLConfigParserSpec$$anonfun$1$$anonfun$apply$92$$anon$6.<init>(DefaultSSLConfigParserSpec.scala:148)
	at 	at play.api.libs.ws.ssl.DefaultSSLConfigParserSpec$$anonfun$1$$anonfun$apply$92.apply(DefaultSSLConfigParserSpec.scala:148)
	at 	at play.api.libs.ws.ssl.DefaultSSLConfigParserSpec$$anonfun$1$$anonfun$apply$92.apply(DefaultSSLConfigParserSpec.scala:148)
	at 	at org.specs2.matcher.Scope$$anon$3.asResult(ThrownExpectations.scala:120)
	at 	at org.specs2.execute.AsResult$.apply(Result.scala:253)
	at 	at org.specs2.specification.Example$$anonfun$apply$1.apply(Fragment.scala:209)
	at 	at org.specs2.specification.Example$$anonfun$apply$1.apply(Fragment.scala:209)
	at 	at org.specs2.specification.Example.execute(Fragment.scala:176)
	at 	at org.specs2.specification.FragmentExecution$$anonfun$1.apply(FragmentExecution.scala:46)
	at 	at org.specs2.specification.FragmentExecution$$anonfun$1.apply(FragmentExecution.scala:46)
	at 	at org.specs2.execute.ResultExecution$class.execute(ResultExecution.scala:22)
	at 	at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:116)
	at 	at org.specs2.specification.FragmentExecution$class.executeBody(FragmentExecution.scala:28)
	at 	at org.specs2.reporter.SbtConsoleReporter.executeBody(SbtReporter.scala:20)
	at 	at org.specs2.specification.FragmentExecution$class.execute(FragmentExecution.scala:46)
	at 	at org.specs2.reporter.SbtConsoleReporter.execute(SbtReporter.scala:20)
	at 	at org.specs2.specification.FragmentExecution$$anonfun$executeFragment$1$$anonfun$apply$1.apply(FragmentExecution.scala:35)
	at 	at org.specs2.specification.FragmentExecution$$anonfun$executeFragment$1$$anonfun$apply$1.apply(FragmentExecution.scala:35)
	at 	at org.specs2.control.Exceptions$class.catchAllOr(Exceptions.scala:54)
	at 	at org.specs2.control.Exceptions$.catchAllOr(Exceptions.scala:109)
	at 	at org.specs2.specification.FragmentExecution$$anonfun$executeFragment$1.apply(FragmentExecution.scala:35)
	at 	at org.specs2.specification.FragmentExecution$$anonfun$executeFragment$1.apply(FragmentExecution.scala:35)
	at 	at org.specs2.reporter.DefaultExecutionStrategy$class.executeWithBarrier$1(ExecutionStrategy.scala:118)
	at 	at org.specs2.reporter.DefaultExecutionStrategy$$anonfun$executeConcurrently$1$$anonfun$apply$6.apply(ExecutionStrategy.scala:120)
	at 	at org.specs2.reporter.DefaultExecutionStrategy$$anonfun$executeConcurrently$1$$anonfun$apply$6.apply(ExecutionStrategy.scala:120)
	at 	at scalaz.concurrent.Promise$Unfulfilled$.fulfill(Promise.scala:125)
	at 	at scalaz.concurrent.Promise$Done.eval(Promise.scala:153)
	at 	at scalaz.concurrent.Promise$$anonfun$e$1.apply(Promise.scala:17)
	at 	at scalaz.concurrent.Promise$$anonfun$e$1.apply(Promise.scala:17)
	at 	at scalaz.concurrent.Actor.scalaz$concurrent$Actor$$act(Actor.scala:44)
	at 	at scalaz.concurrent.Actor$$anonfun$schedule$1.apply$mcV$sp(Actor.scala:40)
	at 	at scalaz.concurrent.Actor$$anonfun$schedule$1.apply(Actor.scala:40)
	at 	at scalaz.concurrent.Actor$$anonfun$schedule$1.apply(Actor.scala:40)
	at 	at scalaz.concurrent.StrategysLow$$anon$3$$anon$4.call(Strategy.scala:65)
	at 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at 	at java.lang.Thread.run(Thread.java:662)
Fix securerandom (will fix build, maybe)
Merge pull request #2836 from wsargent/fix-2779

Change hostname verifier to use thread's classloader
Upgrade to sbt 0.13.5
Upgrade to sbt-web 1.0.0 along with associated plugins
Upgraded to javassist 0.18.2-GA

Fixes #1966
Update to twirl 1.0.0
Merge pull request #2954 from pvlugter/twirl-1.0-2.3.x

Update to twirl 1.0.0 (2.3.x backport)
Deprecate and stop using the overflowingExecutionContext

Fixes #2947.

The overflowingExecutionContext is tricky to use safely so
this change removes all uses from Play. The object has been
deprecated for Play 2.3 and should be removed in Play 2.4.

In all cases the trampoline ExecutionContext should be used
instead since it is much safer and offers basically the same
performance.
Add bold styling to "NOTE"
Merge pull request #2961 from wsargent/patch-6

Add bold styling to "NOTE"
Merge pull request #2426 from rhodri/patch-1

Fix incorrect regex
Add MiMa
Merge pull request #2975 from jroper/23-bin-compat

Add MiMa
Fix link to sbt
Fix the link to the auth scheme to be WSAuthScheme
Added details of how to import the cache into the documentation
Fix ScalaDependencyInjection.md's Spring description grammar
Merge pull request #2989 from wsargent/patch-8

[doc] Fix the link to the auth scheme to be WSAuthScheme