Fixed a bug in MacMachineIdProvider which always returned 0
add more test coverage and verification