Extract out as many scalactic macros as possible, so that they can be used within Scalactic and ScalaTest builds.

(Snapshots and Requirements has too many dependencies via Prettifier.)

TODO: Scalactic doc output has doc source urls incorrect for scalactic macro files.
Add scalactic macros output to scalatest as well, and exclude from depending on non-existent artifact, per http://grokbase.com/t/gg/simple-build-tool/133shekp07/sbt-avoid-dependence-in-a-macro-based-project
Fix generating source links in api documentation.  This involved:
  * Removing macro classes from doc compile classpath
  * Copying macro sources in docsrc, with corresponding directory structure
  * Adding -Ymacro-no-expand to doc generation scalac options.
  * Refactoring genDocSources to allow multiple srcDirs
  * Changing docSourceUrl to top-level of GitHub tree
  * Changing genscalactic source generation to use sourceDirectory instead of sourceManaged (so that matches on src/ prefix)
Avoid using toPath for Java 6 compatibility.
Output information about directories files copied in GenScalactic, to help debugging.
No longer copy scalautils directory (removed in earlier commit in master).
Remove reference to scalautils in test.
Bumped version to 3.0.0-SNAP4 to test the extra-macro refactor o a deployment to sonatype.
Add PropertyCheckConfiguration which uses anyvals, and deprecate PropertyCheckConfig.   (Uses PosX.from factory methods, because "you cannot use macro implementations in the same compilation run that defines them".  If scalactic were in a separate compile, this would go away.)
Adapt PropertyCheckConfigSuite into PropertyCheckConfigurationSuite.
Add maxDiscardedFactor factory method and tests.
Change non-deprecated PropertyCheckConfigParam classes to use anyvals.
Ensure all references to PropertyCheckConfig -> PropertyCheckConfiguration and update documentation.
Add SizeRange and sizeRange, deprecating MaxSize and maxSize.
Use private[scalatest] fields for legacy param values.
Separate out PropertyCheckConfigurationHelperSuite.
Fix GenGen compile errors.

TODO: Try to find a smoother upgrade path---compile errors would likely not indicate to a user that this change was required.  Example error message:
[error] /Users/broberts/Documents/workspace/scalatest/gentests/GenGen/target/scala-2.11/src_managed/test/scala/gengen/GeneratorDrivenPropertyChecksMixinSuite.scala:702: could not find implicit value for parameter config: GeneratorDrivenPropertyChecksMixinSuite.this.PropertyCheckConfiguration
[error]     forAll { (a: String) =>
[error]            ^
Add failing test for backwards compatability of PropertyCheckConfig -> PropertyCheckConfiguration change.  See ConfigImplicitOverrideInClassTest.
Add PropertyCheckConfigurable trait, common to both PropertyCheckConfiguration and deprecated PropertyCheckConfig.  This allows more seamless upgrades.  See fixed ConfigImplicitOverrideInClassTest for an example where this is necessary.
Use macro versions of PosDouble, PosInt, and PozInt, now possible due to scalactic-macros project being separated out in #457