Replaced ADDRESS typedef with a full blown ADDRESS struct, this way ther
e is no conflict between 'unsigned int' and ADDRESS typedef ( caused
compile time errors). Also we can at some future point differentiate
between Host and Native addresses.