allow txindex to be removed and add a reindex dialog

- adds a reindex dialog for Bitcoin-Qt to change -txindex without the need
  to supply -reindex
- now also does a -reindex, when removing the -txindex switch
Remove broken option to skip input checking for wallet txn.
fixed: include boost header as necessary

Without this include, sometimes BOOST_VERSION was defined and sometimes
it was not, depending on which includes came before it. The result was a
random mix of sleep or sleep_for for boost versions >= 1.50.
fixed: don't use thread::sleep_for where it's known to be broken

Fixes #2690.
Merge pull request #2769 from TheBlueMatt/master

Remove broken option to skip input checking for wallet txn.
Merge pull request #2766 from theuni/fix-shutdown-deadlock

Fix shutdown deadlock, ticket #2690
Merge pull request #2648 from Diapolo/txindex

allow txindex to be removed and add a reindex dialog
qt: allow user to choose data directory

This adds an introduction screen that is shown when the client is first
started in which the user can choose a data directory.

It is also possible to force the intro screen to appear using command
line argument `-choosedatadir`.

The user is warned that the client will download and store 10Gb of data.
The intro screen shows how much space is available on the device that
contains the chosen directory and warns if this is less than the 10Gb.

To make it possible to translate the introduction dialog, the initialization
sequence is changed so that translations are
loaded before the data directory. This has the by-effect that it is
no longer possible to specify a language in bitcoin.conf inside the data
directory.