log start and end of Shutdown()

- could be helpful when debugging shutdown related problems

Rebased-by:   Warren Togami <wtogami@gmail.com>
Rebased-from: ced3c248168941fbbd42d5a3807657a88be6a54e
exclude CreatePidFile() function on WIN32 as it is unused
Hurricane Electric uses block 2001:470::, not 2011:470::
Porting MinGW multithreading bugfix to makefile.mingw

Original fix:
https://github.com/bitcoin/bitcoin/commit
/8864019f6d88b13d3442843d9e6ebeb8dd938831
special case DoS value == 0 in ProcessMessage()

- prevents unneeded log messages, which could make users think something
  bad was happening

Squashed: style-police code cleanup
Don't store or send blocks forked before last checkpoint.
Enable NODE_BLOOM by default

Also change behavior to simply disconnect peers, rather than DoS-ban
them.
Litecoin: Add a simplified SSE2 version of scrypt

pooler: Ported from tarsnap upstream, fixed aliasing issue
cfields: break apart sse2/non-sse2 into separate objects
Litecoin: Runtime detection of SSE2 32bit x86 for Scrypt

* x86_64 and Intel MacOS X always uses scrypt-sse2, non-x86 uses scrypt-generic.
* x86 (not Mac) detects cpuid features and chooses sse2 or generic during runtime.

How to Build with SSE2 Support
==============================
* make litecoind with USE_SSE2=1
* qmake with USE_SSE2=1
Litecoin: Upgrade gitian win32 to Precise 12.04 and boost-1.54

mingw upgrade allows more hardening, compiler bug fixes and possibily win64 later.
Rename deps .zip files to be more consistent in revision format.

Litecoin: Reuse bitcoin-0.9 win32 deps.
Litecoin: SSE2 scrypt unit test coverage
Litecoin: Restore USE_BUILD_INFO=1 in gitian-win32.yml
Disconnect nodes older than protocol version 70002 (Litecoin 0.8.3.7)

Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
RPC: getblock(): Accept 2nd "verbose" parameter, similar to getrawtransaction, but defaulting to 1 for backward compatibility
Litecoin: mingw32 -mstackrealign to prevent SSE2 misalignment crashes
make -logtimestamps default on and rework help-message
process received messages one at a time without sleeping between messages
Merge pull request #85 from pooler/processgetdata

Reduce latency in network processing
Merge pull request #84 from pooler/logtimestamp_def

make -logtimestamps default on and rework help-message
Remove redundant insert method in serialize.

This seems to cause problems on recent clang, and looks totally
redundant and unused.

The const_iterator version is identical to the vector::const_iterator
one (which is a typedef thereof). Marking it private (instead of
removing) compiles fine, so this version is effectively unused even.