Let people choose their test framework

Our services use scalatest's `FunSpec` or specs2, which requires us to copy-and-paste the `SpecHelper.scala` code just to remove the dependency on `FlatSpec`.

This PR avoids the problem by decoupling `SpecHelper` from `FlatSpec`. 

Given this is a breaking change on the API, I am not sure what approach to take. I've created a `FlatSpecHelper` which should behave exactly like the old `SpecHelper`, and made it part of the test source as I believe it would be nice if Finatra itself doesnt bring a transitive dependency on scalatest. I guess keeping `SpecHelper` and extracting the common bits in a trait with a different name would also work, happy to do that if it's better.