Porting to MinGW-w64

The target of these changes is to support luni (Java core classes from Android) on Windows. The main problem is the POSIX functions which are (partially) unsupported on Windows. Some of them have replacements in WinAPI, some others don't. 

We tried to avoid modifying Java code of the framework cause Java doesn't have ifdefs ;) The only change we couldn't avoid is adding a static constructor (and a native <code>init()</code> function) to <code>libcore.io.Posix</code> class thus we could initialize WinSock there.

We tried to put any significant changes to a special file named <code>mingw-extensions.cpp</code> and change the original <code>libcore_io_Posix.cpp</code> as few as possible, but unfortunately we had to make some modifications (most of them are related to a different functions signature; for example, in Windows we have unsigned int64 for socket descriptor while under unix we have signed int).

Not everything is supported so far. The first target (which is mostly achieved) is sockets support. We made some tests (https://github.com/bigfatbrowncat/avian-droid-tests.git) that work well with this implementation. The most complicated is SimpleFramework demo (http://www.simpleframework.org) which work like a charm (it's a very tough test - it includes pipes and poll() - two main problems on Windows)

While this work is incomplete yet, it supports many features and includes many code changes, so we want to pull it to your repo and continue the discussion with Google guys about merging it upstream.

<em>We made some additional modifications to Avian - i'm going to pull them to the Avian repo too</em>

This pull request is linked to the issue https://github.com/ReadyTalk/avian/issues/168