Unification of code for plotting approximate and exact Riemann solutions.

- riemann_solution now also returns a function riemann_eval(xi) that gives the solution as a function of x/t
- riemann_eval(inf) correctly gives back the initial data when t=0
- plot_riemann takes riemann_eval as an extra argument and uses it to compute the solution
- the array of speeds can contain entries that are pairs, corresponding to the bounds of a rarefaction fan
- plot_riemann now plots exact solutions too, so plot_exact is not needed
- only a single make_plot_function() is needed, since it is generalized to handle all cases
- a list of names can be passed to make_plot_function.  It will appear as a legend.
- The first plot is in black and linewidth=2.
- riemann_tester.ipynb is update to reflect all these changes.
fix plot at t=0 by using t=1e-10 in similarity solution