Add subprojects; first pass at adding laws and tests.

This commit creates three sub-projects:

 - core: builds algebra.jar; contains type classes (and a few types)
 - std:  builds algebra-std.jar; contains sample instances
 - laws: builds algebra-laws.jar; contains laws and conformance tests

It also ports over the basic laws from Spire for:

 - signed
 - eq/order
 - groups
 - rings

Finally, it adds a very simple standard algebra instance for Int, and
runs the relevant laws tests on it.
OK, so I think I see a possible consensus:

1. I will remove the dependencies from `algebra-std`.
2. I will move the `Arbitrary[_]` instances &c to `algebra-laws`.
3. `algebra-laws` will continue to depend on Discipline and ScalaCheck.

Does this make sense? If so, I can push a commit tonight.