Remove IsFromMe() check in CTxMemPool::accept()

Fixes issue #2178 : attacker could penny-flood with invalid-signature
transactions to deduce which addresses belonged to your node.

I'm committing this early for code review; I still need to write up
a test plan.

Executive summary of fix: check all transactions received from the network
for penny-flood rate-limiting before adding to the memory pool. But do NOT
ratelimit transactions added to the memory pool:
  - because of blockchain reorgs
  - stored in the wallet and added at startup
  - sent from the GUI or one of the send* RPC commands (CWallet::CommitTransaction)

The limit-free-transactions code really should be a method on CNode, with
counters per-peer. But that is a bigger change for another day.
Rework the clients thread priority handling

- removes SetThreadPriority() and integrates that into NewThread() with a
  default of THREAD_PRIORITY_NORMAL
- removes special-casing (priority switching) for internal Bitcoin miner
- uses a new default for the following threads: ThreadScriptCheck (below
  normal - because normal prio threads on every CPU core could slowdown UX),
  ThreadImport (above normal - to speed it up a little) and
  ThreadBitcoinMiner (below normal - to compensate the removed special
  casing)
- removes thread priority code for non-Windows OSes, so these will just
  get a no-op
Let limitfreerelay=0 reject ALL free transactions
Merge pull request #2168 from sipa/txindex

Add optional transaction index to databases
Merge remote-tracking branch 'upstream-pull/2061/head' into turbo
Merge remote-tracking branch 'upstream-pull/2182/head' into turbo
Merge remote-tracking branch 'upstream-pull/2199/head' into turbo