Further improvements to IsMMIOAddress (Includes tests!)

Make the IsMMIOAddress function easier to read, Add Tests.

This also makes IsMMIOAddress more restrictive.

(Yes you can merge this, delroth)