Support for Mingw64 compiler

This patch set adds support for the compilation of Lunchbox with MinGW64.

The changes were tested with commit acb7920fbc151cf32e664325a442134af142332b as a branch base using MinGW64 runtime 3.2 on Linux. The library files were created without issues and the tests linked properly against the library.
I wasn't comfortable with this line either, but removing this causes the following error when compiling the refPtr test:

    Linking CXX executable ../bin/Lunchbox_refPtr.exe
    cd /usr/x86_64-w64-mingw32/tmp/portage/dev-libs/lunchbox-9999/work/lunchbox-9999_build/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/Lunchbox_refPtr.dir/link.txt --verbose=1
    /usr/bin/cmake -E remove -f CMakeFiles/Lunchbox_refPtr.dir/objects.a
    /usr/bin/x86_64-w64-mingw32-ar cr CMakeFiles/Lunchbox_refPtr.dir/objects.a @CMakeFiles/Lunchbox_refPtr.dir/objects1.rsp
    /usr/bin/x86_64-w64-mingw32-g++  -O2 -pipe -fomit-frame-pointer  -Wall -Wextra -Winvalid-pch -Winit-self -Wno-unknown-pragmas -Wshadow -Wnon-virtual-dtor -Wsign-promo -Wvla -fno-strict-aliasing -std=c++11    -Wl,--whole-archive CMakeFiles/Lunchbox_refPtr.dir/objects.a -Wl,--no-whole-archive  -o ../bin/Lunchbox_refPtr.exe -Wl,--out-implib,../lib/libLunchbox_refPtr.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -L/usr/x86_64-w64-mingw32/usr/lib  ../lib/libLunchbox.dll.a /usr/x86_64-w64-mingw32/usr/lib/libboost_regex-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_serialization-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_filesystem-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_system-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_thread_win32-mt.dll -lpthread /usr/x86_64-w64-mingw32/usr/lib/libboost_regex-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_serialization-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_filesystem-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_system-mt.dll /usr/x86_64-w64-mingw32/usr/lib/libboost_thread_win32-mt.dll -lws2_32 -lmswsock -limagehlp -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 
    CMakeFiles/Lunchbox_refPtr.dir/objects.a(refPtr.cpp.obj):refPtr.cpp:(.text$_ZN3FooD1Ev[_ZN3FooD1Ev]+0x3): undefined reference to `vtable for lunchbox::Referenced'
    CMakeFiles/Lunchbox_refPtr.dir/objects.a(refPtr.cpp.obj):refPtr.cpp:(.text$_ZN3BarD1Ev[_ZN3BarD1Ev]+0x3): undefined reference to `vtable for lunchbox::Referenced'
    /usr/libexec/gcc/x86_64-w64-mingw32/ld: CMakeFiles/Lunchbox_refPtr.dir/objects.a(refPtr.cpp.obj): bad reloc address 0x3 in section `.text$_ZN3BarD1Ev[_ZN3BarD1Ev]'
    collect2: error: ld returned 1 exit status
    make[2]: *** [bin/Lunchbox_refPtr.exe] Error 1
    make[2]: Leaving directory `/usr/x86_64-w64-mingw32/tmp/portage/dev-libs/lunchbox-9999/work/lunchbox-9999_build'
    make[1]: *** [tests/CMakeFiles/Lunchbox_refPtr.dir/all] Error 2
    make[1]: Leaving directory `/usr/x86_64-w64-mingw32/tmp/portage/dev-libs/lunchbox-9999/work/lunchbox-9999_build'
    make: *** [all] Error 2

I also tried exporting the constructor, copy-constructor, destructor and operator= to no result.
Any ideas how to solve this?
I'll continue fiddling...