Fix crashing bug caused by orphan(s) with duplicate prevout.hash
Remove peer's orphan transactions if they are banned

Properly clean up after banned connections.
Remove orphans when peer disconnects, no matter the reason
Store fewer orphan tx by default, add -maxorphantx option

There is no reason to store thousands of orphan transactions;
normally an orphan's parents will either be broadcast or
mined reasonably quickly.

This pull drops the maximum number of orphans from 10,000 down
to 100, and adds a command-line option (-maxorphantx) that is
just like -maxorphanblocks to override the default.