Bug fix listtransactions from/count handling.
Show error message instead of exception crash when unable to bind RPC port

Fixes issue #875
Build identification strings

All client version information is moved to version.cpp, which optionally
(-DHAVE_BUILD_INFO) includes build.h. build.h is automatically generated
on supporting platforms via contrib/genbuild.sh, using git describe.

The git export-subst attribute is used to put the commit id statically
in version.cpp inside generated archives, and this value is used if no
build.h is present.

The gitian descriptors are modified to use git archive instead of a
copy, to create the src/ directory in the output. This way,
src/src/version.cpp will contain the static commit id. To prevent
gitian builds from getting the "-dirty" marker in their git-describe
generated identifiers, no touching of files or running sed on the
makefile is performed anymore. This does not seem to influence
determinism.
Merge pull request #1046 from laanwj/2012_04_rpcporterror

Show error message instead of exception crash when unable to bind RPC port
Merge pull request #1054 from sipa/buildinfo

Build identification strings
Force regeneration of build.h in qmake builds
Fix build.h dependencies

For Qt builds, the build.h file is moved to build/build.h. For regular
builds, it is moved to obj/build.h. This allows the Qt build to be done
in a different directory than the source, and without interfering with
other builds.
Merge pull request #1077 from sipa/buildinfo

Fix build.h dependencies
by popular request, make 4th bar of connection icon green
Remove path.make_preferred() calls, and fix compiler error in bitcoinrpc RE: boost::system
Merge pull request #1083 from laanwj/2012_04_connectionicon

Make 4th bar of connection icon green
Use filesystem::path instead of manual string tinkering

Where possible, use boost::filesystem::path instead of std::string or
char* for filenames. This avoids a lot of manual string tinkering, in
favor of path::operator/.

GetDataDir is also reworked significantly, it now only keeps two cached
directory names (the network-specific data dir, and the root data dir),
which are decided through a parameter instead of pre-initialized global
variables.

Finally, remove the "upgrade from 0.1.5" case where a debug.log in the
current directory has to be removed.
Merge pull request #1072 from sipa/boostpaths

Use filesystem::path instead of manual string tinkering
Merge pull request #855 from sje397/ToggleHide

Toggle UI hide
Fix OSX build errors.
BIP 0031: pong message

Add a pong message that is sent in reply to a ping. It echoes back a nonce
field that is now added to the ping message. Send a nonce of zero in ping
messages.

Original author: Mike Hearn @ Google

Modified Mike's change to introduce a mild form of protocol documentation in
version.h.
version.h: separate client, net sections.  Move more constants to this file.

* move PROTOCOL_VERSION to version.h

* move CLIENT_VERSION* to version.h, make available past cpp stage

* clearly separate client, network version portions of version.h
Remove obsolete Win32 AffinityBugWorkaround()

Reference miner exists for testnet-in-a-box type situations, and as a
reference.  We don't care enough about highly optimized internal
mining to keep workarounds like this.
fixed amount part of URI in QR-Codes / removed (no label) string if we have NO label / coding style updates / removed an unused variable
updated to reflect pull-request suggestions / renamed some GUI elements