Adding type aliases

This patch adds aliases to types (which should resolve pekim/tedious#179), so they can still use TDS names while still being available under "official" names (documented at http://pekim.github.io/tedious/api-datatypes.html):

TDS name            | Documented name
-------------------------|--------------------------
UniqueIdentifierN  | UniqueIdentifier
TimeN                   | Time
DateN                   | Date
DateTime2N         | DateTime2
DateTimeOffsetN | DateTimeOffset

It also makes sure, that no type can be overriden by alias (to prevent errors from possible mistakes when declaring aliases) and adds test for that.