Add -walletnotify to call an external script on wallet transactions
Add timeoffset to getinfo RPC call

Provides a method to get the difference between network adjusted time
and local time from the RPC interface.
Various performance tweaks to CCoinsView

* Pass txid's to CCoinsView functions by reference instead of by value
* Add a method to swap CCoins, and use it in some places to avoid a
  allocating copy + destruct.
* Optimize CCoinsViewCache::FetchCoins to do only a single search
  through the backing map.
Native versions for AllocateFileRange()
Drop padding in blk* when finalizing file
Fix getbalance discrepency

Two changes:

Use IsConfirmed() instead of IsFinal(), so 'getbalance "*" 0' uses the same
'is this output spendable' criteria as 'getbalance'. Fixes issue #172.

And a tiny refactor to CWallet::GetBalance() (redundant call to IsFinal -- IsConfirmed
calls IsFinal).
getbalance with no arguments and 'getbalance "*" 0' could return different different results,
Reimplement click-to-pay links. Add OSX support.

Switch to using Qt's QLocalServer/QLocalSocket to handle bitcoin
payment links (bitcoin:... URIs)

Reason for switch: the boost::interprocess mechanism seemed flaky,
and doesn't mesh as well with "The Qt Way"

qtipcserver.cpp/h is replaced by paymentserver.cpp/h

Click-to-pay now also works on OSX, with a custom Info.plist
that registers Bitcoin-Qt as a handler for bitcoin: URLs and
an event listener on the main QApplication that handles
QFileOpenEvents (Qt translates 'url clicked' AppleEvents into
QFileOpenEvents automagically).
Enable dumpprivkey in safe mode
Pass compiler flags down into leveldb make

Fixes issue#2288. Includes cleanups from Luke's pull 2243.
Minor build fixes

Two changes: make some linux-specific linker options linux and linker specific.
And in the cross-compile environment, prefer the $HOME/qt/bin tools to
whatever might be somewhere else in the path.
Change progress bar from block-based to time-based

This is less confusing to most people, and doesn't rely on estimates
of the total number of blocks received from other nodes.
Transactions-based verification progress
Improve block database load error reporting
Merge branch 'loaderror' of git://github.com/sipa/bitcoin
Improve block database load error reporting
Internal RNG for approximateBestSubset to prevent degenerate behavior.

This fixes test_bitcoin failures on openbsd reported by dhill on IRC.

  On some systems rand() is a simple LCG over 2^31 and so it produces
an even-odd sequence.  ApproximateBestSubset was only using the least
significant bit and so every run of the iterative solver would be the
same for some inputs, resulting in some pretty dumb decisions.

Using something other than the least significant bit would paper over
the issue but who knows what other way a system's rand() might get us
here.  Instead we use an internal RNG with a period of something like
2^60 which is well behaved.  This also makes it possible to make the
selection deterministic for the tests, if we wanted to implement that.
Merge pull request #2315 from sipa/loaderror

Improve block database load error reporting
Merge pull request #2311 from gavinandresen/master

Pass compiler flags to leveldb make
Set CC/CXX properly for gitian build
Bugfix: makefile.linux-mingw: Fix so passed CXXFLAGS/LDFLAGS work correctly