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
Bitcoin-Qt: intregrate current translations from Transifex
Bitcoin-Qt: add new GCC compiler hardening options

- this patch enables several new GCC compiler hardening options that
  allows us to increase the security of our binaries (see:
  https://wiki.debian.org/Hardening)

-D_FORTIFY_SOURCE=2:
Enables compile-time protection against static sized buffer overflows.

-Wl,-z,relro -Wl,-z,now:
Enables full RELRO (RELocation Read-Only), which is a generic mitigation
technique to harden the data sections of an ELF binary/process. See:
http://isisblogs.poly.edu/2011/06/01/relro-relocation-read-only/ for
further details.
Merge pull request #1922 from Diapolo/trans_en_master

Translation update for Bitcoin-Qt 0.7.1