Change download logic to allow calling getheaders/getdata on inbound peers
Change download logic to allow calling getheaders/getdata on inbound peers

SendMessages will now call getheaders on both inbound and outbound peers,
once the headers chain is close to synced.  It will also try downloading
blocks from inbound peers once we're out of initial block download (so
inbound peers will participate in parallel block fetching for the last day
or two of blocks being downloaded).

cerebrus29301/crowncoin,cerebrus29301/crowncoin,cerebrus29301/crowncoin,cerebrus29301/crowncoin,cerebrus29301/crowncoin,cerebrus29301/crowncoin