Added benchmark package for benchmarking exported functions.

- Any benchmarks which will be reported publicly (for example, in the README
  or in the package description) should be placed in the benchmarks package.
- Any benchmarks which require unexported functions or types should be placed
  in the gopack package. These should not be reported publicly. Any equivalent
  benchmarks may be run on exported functions and placed in the benchmarks
  package. Benchmarks placed in the gopack package should be used for
  performance tuning (for example, finding non-performant subroutines).