fix md device access issues
fix map_func bug
fix MinGW build

* Use the SIZEOF() macro in ldscript, to find if a section is empty or not defined.
* Ensure that -fno-asynchronous-unwind-tables is used when checking objcopy behaviour,
  by setting CPPFLAGS in configure.ac. Without this, the objcopy absolute address test
  fails because gcc on MinGW creates a .eh_frame section, that objcopy can't handle.
* Note: To get a working grub4dos using MinGW, you may have to downgrade gcc to 4.6.2 using:
     mingw-get upgrade gcc=4.6.2-1
     mingw-get install mpc=0.8.1-1
  You should also run autogen.sh or bootstrap.sh before invoking configure.