Added the from_levels_and_colors function.

This PR adds a function which simplifies the construction of a cmap and norm for discrete levels with specific colours.
The interface is intentionally similar to the contourf ```levels``` and ```colors``` arguments - though a little stricter in the fact that the correct number of colors for levels is required.

This has come up a couple of times with my colleagues and I always end up having to write a chunk of test code to make sure I've done it right. This function generally makes this easier - and will hopefully make doing quantized pcolormesh's less error prone.