Merge pull request #19 from eaburns/fix_tests

Break up tests into smaller chunks instead of one big test stew.
Add a test.

Just something that was worrying me, but it's fine.
Remove the bad implementation of Regexp.Match.
Re-implement Regexp.Match.

Fixes #18.

It's completely unoptimized yet still faster than the previous implementation on hard matches:
benchmark                         old ns/op     new ns/op     delta
BenchmarkRegexpMatchEasy0x32      1214          16776         +1281.88%
BenchmarkRegexpMatchEasy0x1K      32534         483739        +1386.87%
BenchmarkRegexpMatchEasy1x32      1203          16576         +1277.89%
BenchmarkRegexpMatchEasy1x1K      32699         477848        +1361.35%
BenchmarkRegexpMatchMediumx32     244           2093          +757.79%
BenchmarkRegexpMatchMediumx1K     40159         517059        +1187.53%
BenchmarkRegexpMatchHardx32       102727        73536         -28.42%
BenchmarkRegexpMatchHardx1K       4766294       1516938       -68.17%

benchmark                         old MB/s     new MB/s     speedup
BenchmarkRegexpMatchEasy0x32      26.35        1.91         0.07x
BenchmarkRegexpMatchEasy0x1K      31.47        2.12         0.07x
BenchmarkRegexpMatchEasy1x32      26.59        1.93         0.07x
BenchmarkRegexpMatchEasy1x1K      31.32        2.14         0.07x
BenchmarkRegexpMatchMediumx32     4.09         0.48         0.12x
BenchmarkRegexpMatchMediumx1K     25.50        1.98         0.08x
BenchmarkRegexpMatchHardx32       0.31         0.44         1.42x
BenchmarkRegexpMatchHardx1K       0.21         0.68         3.24x