Added a new ipv6 constructor that uses a uint128_t

If your compiler and platform support it it'll use the extension __uint128_t
otherwise the class uint128_t will be available for you. This constructor
still has some limitations, see the documentation above it for more info about
this.