change failure to invalid_arg in Int32.[un]pack[_big], add more tests
Faster version of BatString.replace

This version of 'replace' only allocates a single string. On short
strings it takes 60% of the time of the old version. Perhaps most the
time is spent in 'find'.
fix: make bench broken by composition operator renaming
Faster version of BatString.nreplace

With an accompanying benchmark against other possible implementations
showing this new version being consistently faster than current one
by around 20%.

Also introduce BatSubstring.unsafe_substring (used by a benchmark but
useful in itself).
added avg, favg + corresponding tests and an internal flength function used by both
added min_max + unit test and doc
micro fix asked by a maintainer
Merge pull request #382 from UnixJunkie/min_max_for_BatList

added min_max + unit test and doc
Fix ocamldoc on List.min_max to use correct @raise token
Merge pull request #379 from UnixJunkie/avg_for_BatArray

added avg, favg + corresponding tests and an internal flength function u...
Improve BatList documentation of exceptions