Starting to implement support for signed numbers
* endian.h functions support them, the current overloads are not passing on this support
* The approach I am trying is to partially specialize structs instead of fully specializing static methods.
* Conversion is implemented by functors (sadly this requires instantiation)
* Structs can be partially specialized on the pairs of signed and unsigned types of the same length
* signed_support is a in-dev branch which doesn't compile at this point
Implemented support for signed types
* Transformed utility templates into aliases
* Changed LittleEndian, BigEndian and UndefinedEndian structure
* Modified old specializations to match new structure
* Added specializations for signed types
* Expanded test case to encompass signed types
Converted const-reference template chains to ConstLValueReference