BUG: xlim on plots with shared axes (GH2960, GH3490)

Fixes #2960
Fixes #3490. 

Summary of changes:
- for irregular timeseries plots, considers all lines already plotted when calculating xlim
- for plots with secondary_y axis, considers lines on both left and right axes when calculating xlim. There are tests for non-timeseries plots (always worked, but now a test to confirm this), irregular timeseries plots, and regular timeseries plots.

This does not fix #6608, which I now think is a fairly specific/rare case that could always be manually avoided by ```x_compat=True```. I will still try and fix that, but it looks a bit uglier and I didn't want to hold back these more important changes.