Extract out scalactic into separate compilation unit, to allow use of Scalactic macros in ScalaTest code

This would allow use of Scalactic macros in ScalaTest code, for example PropertyCheckConfiguration introduced in #428). See: https://github.com/flicken/scalatest/commit/7476f98e531dfb3665dda3bdb4bfadd0b82d3f56

This change moves all scalactic and scalautils files into two directories:
  scalactic/ -- all implementation code
  scalactic-test/ -- all test code

This separation is necessary to avoid a cyclic dependency (scalatest implementation depends on scalactic implementation, and scalactic tests depend on scalatest implementation).  

Future change suggestion: have Scalactic's tests depend on a previously released version of ScalaTest, to avoid need to split into two projects.   Scalactic's tests don't depend on any rapidly changing feature of ScalaTest, so keeping the version in sync with the current ScalaTest version seems unnecessary.