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.