Fixing Etag/Guid conversion

This closes #1470.

See my comment on #1470. 
the first 3 values of a Guid are Int32/Int16//Int16 and Guid expects these values to be in the systems endian byte order. Etag does always create/parse byte arrays with big endian order, so in little endian systems the Guid/Etag conversion is broken.

It might be better to make Etag's Parse() / ToByteArray() compatible to Guid, but I have no idea if this would cause any trouble, so I just fixed the Guid/Etag conversion.

Please note that this might still be a breaking change for everyone who used Etags and converted them to Guids.