Fix style.lua error with non numerical layer values

The value for the layer tag should be numeric. But there are a few non numeric values in the OSM db - http://taginfo.openstreetmap.org/keys/layer#values This causes an error of something like: "attempt to perform arithmetic on local 'layer' (a string value)". Thus we check to see if the value is a number.

All credits for this go to @systemed
Merge pull request #145 from timwaters/patch-1

Fix style.lua error with non numerical layer values
Fork not supported on MinGW.
Added additional logic to properly detect mingw. More udpates for supporting custom protobuf-c paths. Mthread support detection updates.
MinGW also requires GEOS_INLINE.
Updates to support custom protobuf-c paths on mingw. Old logic was self sabotaging itself by resetting includes to nothing when the inc/lib specific flags were specified to configure.
Not sure why __MINGW_H macro is used. __MINGW32__ or __MINGW__ are the standard widely used macros. I couldn't get osm2psql to build with the _H macro. I went forward using _MINGW32__, which is what you see in most open source ports to this platform.
Moved config.h header down the headers list so the VERSION and PACKAGE_VERSION macros wouldn't interfere with osm2pgsqls.
Revert pthread updates.
Make sure any protobuf-c dependencies are included after.
removed extra bracket on cygwin macro.
added mingw package script.