Patch from ZetaLongPathEx

All source commits are merged (I mean latest assembly target framework change and extensions).

Most of present changes, are bug fixes:
1. MAX_PATH is now 247 (because System.IO can't process 248,249,250)
2. In a couple of places IntPtr has been casted to ToInt32(), which was causing overflow exceptions on some x64 systems (now it ToInt64())
3. Some Dll imports "SetLastError = true" attribute param was missing, which was causing false exceptions sometimes.
4. FindNextFile function in some rare cases was't closing file handle.
5. Item number 16314 from Codeplex issues fix (exception on setting timestamps to folders)
6. Added static method IsPathLong to verify paths.

Also, some unit test are updated, but I haven't yet finished with it.