Add QuantityHandler

Similar assumptions as in TimeHandler (see #49):
* ~~The equality field is a simple, human readable string representation.~~
* ~~Ignore lower/upper bounds when searching.~~
* ~~Ignore decimal places beyond PHP's build-in "14 significant digits" string conversion.~~
* ~~StringHasher is used to be able to have a maximum length. Otherwise it would be unlimited since the unit doesn't have a limit.~~
* Order by float value. Ordering by unit doesn't make any sense.
* No unit conversion (for now, may be implemented in a future version).
This is used by the base class to do some general checks. In this case the pattern is not abused as much as elsewhere in our codebase, and not a bad thing as far as I can tell. As long as you do not start calling this method from the class itself, that'd be silly.