Add -disablewallet option, to disable wallet support (and BDB)

Rebased-from: 5d4f3a1f0cbdf52257b41ea09d175c0018ad9434
Update HomeBrew osx makefile patch to account for recent changes to makefile
Track blocks requested by peers
Don't waste work on slow peers until they catch up
Silence useless warning in src/json/json_spirit_writer_template.h to make important warnings easier to see.

warning: typedef ‘Char_type’ locally defined but not used [-Wunused-local-typedefs]
More fixes for blockchain corruption on OSX.

As we'd previously learned, OSX's fsync is a data eating lie.

Since 0.8.4 we're still getting some reports of disk corruption on
 OSX but now all of it looks like the block files have gotten out of
 sync with the database. It turns out that we were still using fsync()
 on the block files, so this isn't surprising.
log start and end of Shutdown()

- could be helpful when debugging shutdown related problems

Rebased-by:   Warren Togami <wtogami@gmail.com>
Rebased-from: ced3c248168941fbbd42d5a3807657a88be6a54e

Conflicts:
	src/init.cpp

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
Add getnetworkhashps to get the calculated network hashrate

Conflicts:
	src/bitcoinrpc.cpp
	src/rpcmining.cpp

Rebased-from: d64eef48a45d1bbbbab5adf39d6ba1fe4537cea1
Don't store or send blocks forked before last checkpoint.
Add NODE_BLOOM service bit and bump protocol version

Lets nodes advertise that they offer bloom filter support explicitly.
The protocol version bump allows SPV nodes to assume that NODE_BLOOM is
set if NODE_NETWORK is set for pre-70002 nodes.

Also adds an undocumented option to turn bloom filter support off for
testing purposes. Nodes attempting to use bloom filters are immediately
dropped so as to not waste their bandwidth.

Conflicts:
	src/init.cpp
	src/util.cpp
	src/util.h

Rebased-from: e7a64af74fee5734620e91e0045075c97197153a
Fix alert test
Protocol version is now 70002. So 70001 alerts no longer apply to us. But the test is still testing the alert notify behavior correctly because there is still one alert that applies.
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.
RPC: getblock(): Accept 2nd "verbose" parameter, similar to getrawtransaction, but defaulting to 1 for backward compatibility
make -logtimestamps default on and rework help-message
process received messages one at a time without sleeping between messages
Bitcoin OMG gitian*.yml