Initial commit of a prime library.
Optimised `primes::atkin` by calculating limits for `y` values in the pre-seiving stage.
Optimised prime.rs and added first unit tests and benchmarks.
Optimised prime.rs.

- The sets of x and y values are carefully selected for each function to ensure that the solutions always have the correct remainder.
 - This means that there are no 'wasted' solution computations that are ignored.
 - Additionally, there is no need to check every solution has a suitable remainder.
 - Function A (4x^2 + y^2), for example, has different sets of suitable y values depending on whether the x value is divisible by three.  Therefore the x and y loops are segmented accordingly.
Merge branch 'master' of https://github.com/rossdavidsmith/rust-primes