Fixed the junit tests and have a test to make sure junit tests run

This doesn't quite work yet. Glad to see the added tests are serving their purpose though. @nraychaudhuri perhaps you can figure out how to patch the 2.1.x. branch

    [error] Test test.RunWithSpec.Specs with runWith should::execute once failed: '2' is not equal to '1' expected:<[1]> but was:<[2]>
    [error] Failed: : Total 25, Failed 1, Errors 0, Passed 24, Skipped 0
    [error] Failed tests:
    [error] 	test.RunWithSpec
    java.lang.RuntimeException: Tests unsuccessful
    	at scala.sys.package$.error(package.scala:27)
    	at scala.Predef$.error(Predef.scala:123)
    	at sbt.Tests$.showResults(Tests.scala:192)
    	at sbt.Defaults$$anonfun$testTasks$6.apply(Defaults.scala:296)
    	at sbt.Defaults$$anonfun$testTasks$6.apply(Defaults.scala:294)
    	at sbt.Scoped$$anonfun$hf4$1.apply(Structure.scala:580)
    	at sbt.Scoped$$anonfun$hf4$1.apply(Structure.scala:580)
    	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:49)
    	at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
    	at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
    	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:41)
    	at sbt.std.Transform$$anon$5.work(System.scala:71)
    	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
    	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
    	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    	at sbt.Execute.work(Execute.scala:238)
    	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
    	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
    	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    	at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at java.lang.Thread.run(Thread.java:724)