clear history when using clear button in RPC console

- current code does not clear history, when using the clear button, this
  is added
- remove a currently unused variable but add a TODO comment
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.
Check for canonical public keys and signatures

Only enabled inside tests for now.
move most explicit getters in optionsmodel to header

- is more consistent and saves quite some lines of code
remove "checkorder" and "reply" P2P commands

These command are a leftover from send-to-IP transactions, which have been
removed a long time ago.
Also removes CNode::mapRequests and CNode::PushRequests, as these were
only used for the mentioned commands.
fix wrong (signed/unsigned) printf format specifier in bitcoinrpc.cpp

- also includes the required bitcoinstrings.cpp update
get rid of strlcpy.h

Don't use hand-rolled string manipulation routine with a fixed
buffer in the bitcoin core, instead make use of c++ strings and boost.
Remove I2P support from netbase

I2P apparently needs 256 bits to store a fully routable address. Garlicat
requires a centralized lookup service to map the 80-bit addresses to fully
routable ones (as far as I understood), so that's not really usable in our
situation.

To support I2P routing and peer exchange for it, another solution is needed.
This will most likely imply a network protocol change, and extension of the
'addr' message.
Use fdatasync instead of fsync on supported platforms
make optionsmodel query real proxy state for ::data()

- don't rely on the QSettings for cases ProxyUse and ProxySocksVersion and
  query the real values via the GetProxy() call
- add a missing "succesful =" for case ProxyUse in ::setData()
CAddrMan: verify pchMessageStart file marker, before reading address data

This avoids the case where you read the address data, before noticing it is
the wrong network.
Merge pull request #1901 from laanwj/2012_10_remove_strlcpy

get rid of strlcpy.h
Merge pull request #1911 from Diapolo/fix_signed_unsigned

fix wrong (signed/unsigned) printf format specifier in bitcoinrpc.cpp
Merge pull request #1900 from Diapolo/optionsmodel_getters

move most explicit getters in optionsmodel to header
Merge pull request #1913 from sipa/noi2p

Remove I2P support from netbase
Merge pull request #1879 from sipa/fdatasync

Use fdatasync instead of fsync on supported platforms
Fix a use-after-free problem in initialization (#1920)

Don't store the result of c_str().

Luckily, this only affects logging, though it could crash or leak
sensitive data to the log in rare cases.
Merge pull request #1921 from laanwj/2012_10_init_useafterfree

Fix a use-after-free problem in initialization (#1920)
Bitcoin-Qt: update english translation master file