Initial check in of branch for conflict resolution
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.

Conflicts:
	src/main.h
Make max number of orphan blocks kept in memory a startup parameter (fixes #4253)

Rebased-From: 7b45d943b29a443f1ac808c9ee4eeed6df0db9cc

Conflicts:
	src/init.cpp
	src/main.h
From Bitcoin: ea3c1b0 and Bitcoin: af25208:  Add maximum orphan blocks and maximum orphan TX limits in memory, and accordant command line options in dogecoind. Basic tests to see if command line arguments changed maximum (predefined) limits.
Merge pull request #718 from michilumin/1.8.1-dev-limit-orphan-tx

1.8.1 dev limit orphan tx