Add unittests for multiple ELSEs in a row

IF ELSE ELSE ENDIF is a valid construct; execution or non-execution
inverts on each ELSE encountered.
Don't use checkpoints and accept nonstd txn on -regtest
Fix multi-block reorg transaction resurrection
exclude CreatePidFile() function on WIN32 as it is unused
cleanup compat.h Windows stuff

- remove an unneded include for mswsock.h as we use winsock2.h anyway
- move typedef u_int SOCKET; into the #ifndef WIN32 part
- remove typedef int socklen_t;  as this is defined in ws2tcpip.h
Bitcoin-Qt: save and restore position of debug window

- move the code for saving and restoring window positions from BitcoinGUI
  to GUIUtil, make it more generic and also use it for saving/restoring
  debug window positions
fix string in intro.cpp, which is untranslatable on Transifex

- seems the code tags in the original string cause errors, when using the
  Transifex site for translation
Merge pull request #2865 from Diapolo/fix_intro_translation

fix string in intro.cpp, which is untranslatable on Transifex
Merge pull request #2827 from Diapolo/rpccon_winpos

Bitcoin-Qt: save and restore position of debug window
Merge pull request #2855 from Diapolo/guard_CreatePidFile

exclude CreatePidFile() function on WIN32 as it is unused
Merge pull request #2857 from Diapolo/compat_cleanup

cleanup compat.h Windows stuff
Merge pull request #2851 from TheBlueMatt/master

Prepare for mempool testing in pull-tester and fix multi-block transaction resurrection
Merge pull request #2849 from petertodd/if-else-else

Add unittests for multiple ELSEs in a row