Standard IPS rule option such as "content", "pcre", "flowbits" etc..
(non-preprocessor specific) implemented as IpsOption subclasses.

Most of the IpsOptions can be built statically or dynamically.  Several,
however, such as content, are still tightly coupled with the code and can
only be built statically.  The code will hopefully evolve and eliminate
these cases.

Several options use RangeCheck to implement upper and/or lower bound
semantics.  The Snort 2X options had various implementations of ranges so
3X differs in some places.

The "regex" and "sd_pattern" options both use hyperscan for pattern matching.
Hyperscan is an "optional" dependency for Snort3; These rule options will 
not exist without satisfying that dependency.

Hyperscan documentation can be found online 
https://intel.github.io/hyperscan/dev-reference

The "sd_pattern" will be used as a fast pattern in the future (like "regex")
for performance. 
