Merge pull request #2187 from CodeShark/SyncWithWalletsFix

Bugfix - Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept()
added utility to dump leveldb files
Fix corruption bug found and analyzed by dhruba@gmail.com

https://groups.google.com/d/msg/leveldb/Kc9JxuIUu5A/9P0N9RL4ar8J
Bitcoin-Qt: cleanup / optimise addressbookpage

- don't show QR Code context menu, when USE_QRCODE=1 was not specified
  when compiling the client
- re-work on_showQRCode_clicked() for better readability and remove an
  unneeded duplicate check
- re-work on_signMessage_clicked() and on_verifyMessage_clicked() to match
  foreach in on_showQRCode_clicked(), which seems more robust / cleaner
- re-order context menu stuff to match real context menu layout
- add comments for all private slots in the class
Merge pull request #2165 from Diapolo/Qt_addrbook_cleanup

Bitcoin-Qt: cleanup / optimise addressbookpage
Let limitfreerelay=0 reject ALL free transactions
Merge pull request #2207 from gavinandresen/leveldb19

Leveldb19
spendfrom.py sends coins from a particular address or addresses

Should be both useful and also a pretty good demonstration of
using the raw transactions API.
Merge pull request #2168 from sipa/txindex

Add optional transaction index to databases
full translations update

- fetch current translations from Transifex
- update bitcoinstrings.cpp and bitcoin_en.ts
Merge pull request #2213 from Diapolo/translations

full translations update
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.
Check only 288 blocks at startup by default
Merge pull request #2222 from sipa/check288

Check only 288 blocks at startup by default
Merge pull request #2182 from gavinandresen/addressoracle

Remove IsFromMe() check in CTxMemPool::accept()
Treat non-final transactions as non-standard

At least one service that accepted zero-confirmation transactions
was vulnerable because an attacker could send a transaction
with a lock time far in the future, and then have plenty of time in
which to get a double-spend mined (perhaps from a miner who wasn't
on the network when the first transaction was broadcast).

That is a variation on the "Finney attack". We still don't
recommend anybody accept 0-confirmation transactions as final
payment for anything. This change keeps non-final transactions
from appearing in the wallet, and, assuming most of the network
accepts this change, will prevent them from being relayed until
they are final.
Merge pull request #2162 from gavinandresen/spendfrom

spendfrom.py sends coins from a particular address or addresses
Use a copy in place of mapMultiArgs["-addnode"].

Also moves the DNS lookup of -addnode nodes into the repeated
loop, allowing -addnode to follow DNS changes.
Make ThreadOpenAddedConnections2 exit quicker if(GetNameProxy()).
Add addnode RPC command.