Detect any sufficiently long fork and add a warning.

Such a fork is defined as being at least 7 blocks long and
having a tip which is within 72 blocks of our best block.
Call the -alertnotify script when we see a long or invalid fork.
Better warning/"alert" messages for large-work forks.
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
remove windows.h from crypter.cpp includes

- remove an unneeded windows.h include (comes from allocators.h, which is
  included in crypter.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
Revert "Truncate oversize 'tx' messages before relaying/storing."

This reverts commit c40a5aaaf484855a4350fd702e8e72fd21a68155.
Simplify storage of orphan transactions

Orphan transactions were stored as a CDataStream pointer;
this changes the mapOrphanTransactions data structures to
store orphans as a CTransaction.

This also fixes CVE-2013-4627 by always re-serializing
transactions before relaying them.
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
translations update for Transifex 2013-08-05