TST/CLN: centralize common validation methods in test_graphics
Create base class for plotting related test, and organized data creation and validation function.

@TomAugspurger @cpcloud pls review
 One general comment. Anywhere that you have a pattern like

``` python
for result, expected in zip(ax.lines, expected_lines):
    assertEqual(result, expected)
```

could you add a test at the start or end to ensure that the two things being zipped have the same length? I don't think we have any generators here, so this should be doable. For example, this would pass

```
In [74]: for k, v in zip([], ['a']):
   ....:     assert k == v
```

since zip only zips up to the shortest.
 @TomAugspurger Thanks, I've modified except last point. Could you check?
 Thanks for this. Good work!
