Add num, gte, gt, lte, lt matcher operators

This adds standard numeric greater-than, less-than, and their respective
-or-equal operators to the tag matchers. Since these currently support only
numeric values, a `num` operator is also provided, which attempts to convert
its argument into a numeric equivalent. While the gt, lt, etc. operators are
useful of themselves, `num` is provided as a continuation of the 'explicit
rather than implicit' pattern.

`num` supports binary, octal, decimal, and hexadecimal integers, and floating-
point numbers in decimal or scientific notation. All values can be passed as
strings or as literal numeric values. Any other values will cause an
ArgumentError to be raised.