Clean up new testsuite

 * Combined each Snaplet's testing App into one
 * Reintroduced Blackbox tests
 * Moved several files from non-cabal-appdir to the root of the repository (todo - move all test resources into the test directory in a way that works with Snap.Snaplet.Test)
 * Uncomment the readRequestBody failure test - test suite will fail until we fix bug
 * Tidied up snap.cabal extra-source-files, tested with ```cabal sdist``` and rebuilding from the snap-1.0.0.0.tar.gz to make sure all files are getting packaged up
I use mkTyCon here only in the base < 4.7 case to match most of the recent history in this file (it was only briefly changed to mkTyCon3 to fix an import error). snap-loader-dynamic wants typeOf to return a full "Snap.Snaplet.AppConfig" when base < 4.7, which isn't what happens when mkTyCon3 is used I bevieve.