Found an edge case where /32 was returning '10' as the short
representation of the subnet size because base32 can store 0-31 as a
single digit. So switched to Base36 so 0-35 could be represented, though
we'll only need 0-32.
* Fixed validation pattern for IP addresses in jQuery Validation. It was
missing escape characters for the periods so "192.168." was showing as
a fully valid address.
* Changed the validation error display to be Bootstrap tooltips instead
of additional elements that shift the contents of the page.
* Added custom tooltip style for validation errors.
* Updated jQuery Validation dependencies.
* No need to increase the config version. That is only for breaking
changes. We can assume 'Standard' for all URLs that do not have a mode
for backwards compatibility. Incrementing the config version is when
we have a breaking change like changing existing key names or other
edge cases we can't code around with high confidence.
* Changed the modals slightly to include more information and links to
documentation.
* Want to keep Meta Description short for SEO purposes.
* Elected to use built-in Bootstrap mode highlighting versus changing
the text style
* Removed the Usable IPs popovers in favor of tooltips + hyperlink
* Add support for /31 and /32 subnets
/31 subnets are defined by RFC 3021 and are intended for point-to-point links;
they do not reserve an IP for the network number or the broadcast address.
/32 subnets are loopback IPs.
* Correct "Useable" typo
---------
Co-authored-by: Caesar Kabalan <caesar.kabalan@gmail.com>