Separate the test suite into its own package. The reason is that we can
avoid circular dependency on ‘hspec-megaparsec’ and thus avoid keeping
copies of its source files in our test suite, as we had to do before.
Another benefit is that we can export some auxiliary functions in
‘megaparsec-tests’ which can be used by other test suites, for example in
the ‘parser-combinators-tests’ package.
Version of ‘megaparsec-tests’ will be kept in sync with versions of
‘megaparsec’ from now on.
What Parsec used is called “FreeBSD” or “BSD 2 clause”. Addition of the
third clause may require contacting all the authors. To hell with it,
let it be “FreeBSD” (which is anyway better than “BSD-like”), I'm a
hacker, not a lawyer (tm).
This commit clarifies license of the software replacing “BSD3” with more
conventional “BSD 3 clause”.
Another change is addition of the third clause originally missing in
license of Parsec (which is licensed under BSD 2 clause license). The
addition of the third clause in form:
* Neither the names of the copyright holders nor the names of
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
does not violate original BSD 2 clause license effectively making it BSD
3 clause license (which I find preferable).