tests for SetCompact and GetCompact of CBigNum
reimplement CBigNum's compact encoding of difficulty targets

Use shifts instead of going through the MPI representation of BIGNUMs.
Be careful to keep the meaning of 0x00800000 as sign bit.
Add NATIVE_WINDOWS

With a change of libs, and specifying NATIVE_WINDOWS as TARGET_OS it should compile libleveldb.a and libmemenv.a just fine, it did for me and Diapolo when testing.
o Added threadsafety.h - a set of macros using the -Wthread-safety
  feature in clang.  These macros should primarily be used to
  document which locks protect a given piece of data.  Secondary it
  can be used to document the set of held and excluded locks when
  entering a function.
o Added AnnotatedMixin which adds locking annotations to the mutex
  API, compatible with clang's -Wthread-safety
o Annotated lock-like functions in net.h.
o Removed unused function EndMessageAbortIfEmpty
Add new RPC "lockunspent", to prevent spending of selected outputs
and associated RPC "listlockunspent".

This is a memory-only filter, which is empty when a node restarts.
split of createTrayIconMenu() from createTrayIcon() in BitcoinGUI

- this allows to setup the trayicon before we have and want a trayicon menu
- should be of great use, when we remove that splash screen
- fixes a small bug with the toggleHideAction icon, which is not only used with
  trayicon but also with the Mac dock
Add "checkpoints" option, to permit disabling of checkpoint logic.
New 'checkpoints' option should default to true.
Enable script verification for reorganized mempool tx
Only send reorged txn to mempool after checkpoint
FlushBlockFile(): check for valid FILE pointer

- don't call FileCommit() and fclose() if no valid FILE pointer was
  returned by OpenBlockFile()
Make SetBestChain() atomic

In case a reorganisation fails, the internal state could become
inconsistent (memory only). Previously, a cache per block connect
or disconnect action was used, so blocks could not be applied in
a partial way. Extend this to a cache for the entire reorganisation,
making it atomic entirely. This also simplifies the code a bit.
add 2 constructors in CDiskBlockPos to simplify class usage

- add a default-constructor, which simply calls SetNull() and a
  constructor to directly pass nFile and nPos
- change code to use that new constructors
Replace text on how to enable IPv6 with disable

IPv6 support is now enabled by default, thus documentation should tell
you how to disable it.

Similarly the build-osx use of the flag can be removed.
Bitcoin-Qt: remove obsolete modal flag from GUI APIs

- as we (can) supply the CClientUIInterface::MODAL flag via the style
  parameter, we don't need a separate bool for checking the modality
added build instructions for Ubuntu >= 12.04 
use new message() function in BitcoinGUI

- use it for displaying URI parsing warnings
- use it for displaying error and information in backup wallet function
  (the information display is new and the error was a warning before)

- cleanup BitcoinGUI::incomingTransaction()
-- use message() + the information icon from message
-- comment out an unused parameter in the function definition and
   declaration
-- move all pre-checks at the beginning of the function
remove unneeded flag from MSG_INFORMATION and fix an indentation