Add new command line option '-maxoutbound'

While there is a command line option to limit the total number of
connections ('-maxconnections'), the number of outbound connections is
controlled by a hard-coded constant 'MAX_OUTBOUND_CONNECTIONS=8'.
This number (8) of connections has a bad impact on user's privacy. Let's
keep the default number of outbound connections (of 8) but allow a user
to have more privacy by reducing this number (to 3 or 4) using
'-maxoutbound'.

Explanation: transactions that are first relayed by these 8 entry nodes
most probably belong to the same user. In fact, even a subset of these 8
entry nodes can uniquely identify a user. There is a cheap way for an
attacker to learn this set of entry nodes and the user's public IP and
use it to deanonymize the user (note that users by default advertise
their public IP addresses even when behind NAT).  If the user has 3-4
outbound connection the success rate of the attack becomes quite low.
Some details are here: https://www.cryptolux.org/index.php/Bitcoin
That's entirely out of scope here. But 125 is a sensible default
- Lots of consumer routers croak at a lot of TCP connections
- It's easy to run out of file descriptors on some OSes
- There is quite some memory usage per CNode (send buffers, internal administration)
- There's nothing preventing you from already passing `-maxconnections=250`, if the above problems don't apply (as much) to you