CodePoint Not Equals Overload

Added overloads for the not equals operator taking any combination of a
CodePoint and any integral type.
Allow Integral Types to be Appended to Strings

Previously appending an object convertible to a string to a String depended on the presence of a String constructor accepting that type.  For most types this was not problematic as a templated constructor exists which takes any type which can be converted to a string.

However, given that overloads of operator << for both Strings and CodePoints are present, this was problematic for integral types.  Since the CodePoint class has a constructor which accepts any integral type, the conversion paths for an integral to CodePoint and String were equally favourable, leading to a compiler error.

Added a templated operator << which accepts any type convertible to String to rectify this.
Integer Conversion Fix

Due to the fact that the UCD does not assign integer values to letters which represent hexadecimal values, converting from a hexadecimal string to an integer was failing improperly.

The solution was to -- in addition to checking the UCD -- probe the Locale::Digits array for a digit which represents the same code point under simple case folding, and then take its associated numerical value.

Added a unit test to verify that this fix is working correctly.
-Wtautological-compare Fix

Due to the fact that unsigned integers cannot be less than zero, Clang was generating tautological comparison warnings in converter.hpp, as there are comparisons which determine whether an integer is less than zero, and depending on the template parameter those integers may be of unsigned type.

However, these comparisons are necessary so that the same code can handle signed integers.

To fix this, moved the checks for negative integers into a helper template class -- IsNegative.  This class has a constexpr static Check method, which determines if the given integer is negative.  A specialization of this class template for all unsigned integer types provides a version of this static method which unconditionally returns false.