murmur: fix strict aliasing issue

C99 makes it illegal for different pointer types (with exceptions like char *)
to refer to the same memory. GCC interprets this very strictly, which caused
murmur_hash to return an incorrect result when inlined because it referenced
a struct using a uint32_t pointer.

See the Type Attributes section of the GCC manual for an explanation of what
this attribute does.
Merge into master from pull request #21:
murmur: fix strict aliasing issue (https://github.com/floodlight/indigo/pull/21)