Check against MANDATORY flags prior to accepting to mempool

Previously transactions were only tested again the
STANDARD_SCRIPT_VERIFY_FLAGS prior to mempool acceptance, so any bugs in
those flags that allowed actually-invalid transactions to pass would
result in allowing invalid transactions into the mempool. Fortunately
there is a second check in CreateNewBlock() that would prevent those
transactions from being mined, resulting in an invalid block, however
this could still be exploited as a DoS attack.

Rebased-From: 7c041b3b91aa08a8f5863382b865a5174281ad03
remove max orphan blocks config parameter since it is no longer functional

Rebased-From: 4bc95c43871645c1d69a0d719c13b38151a3a13f
Merge remote-tracking branch 'bitcoin/0.10'