temporary fix for BatFloat.round test

An error in test syntax masked a type-error due to BatFloat overriding
(=) operator. Which itself masked the fact that rounding to
a non-1. precision does not work very well:
  (round ~precision:0.1 2.4 = 2.4) returns `false`.
fix a small typo in verify_arg's documentation
Remove 3.12ism from Float test
Fix #182: Hashtbl documentation incorrectly referenced map
new interface for hcarty's rounding feature

Instead of `round : ?precision:float -> float -> float`, we use
a simple `round : float -> float` rounding to the nearest integer, and
relegates precision handling to a round_to_string function:
  val round_to_string : ?digits:int -> float -> string

This follows from the discussion in pull request 180:
  https://github.com/ocaml-batteries-team/batteries-included/pull/180

Note that [round_to_string x] doesn't exactly behave as
[string_of_float (round x)]. Ample warnings have been added in the
.mli documentation.
split testsuite/main and qtest/test_runner rules for faster qtest-only testing

The makefile used to bundle compilation of testsuite/main and
qtest/test_runner. Splitting them allow to compile qtest/test_runner
only, which roughly halves the overall testing time of 'hot compiles'
(most object files already cached). To test a specific module use
  $TESTABLE="src/batFoo.ml" make qtest-byte

This is a slight improvement over thelema's work on [issue #138]. On
my machine, testing only batFloat.ml dropped from 2.60s to 1.30s.
 [issue #138]: https://github.com/ocaml-batteries-team/batteries-included/issues/138
Related to Bug #114, fix Map.filter, remove PMap,PSet

Lots of fixes to testsuite, old extlib-based modules and extlibcompat to compensate for PMap->Map and PSet -> Set
Document BatISet (a bit tersely)
Add Float.approx_equal and (=~) with tests
Merge branch 'v2' of github.com:ocaml-batteries-team/batteries-included into v2