Maintain a graph of casting rules for automatic propagation of new rules

To make it easier when adding new types by having numba infer casting rules given the initial cast to connect into the type graph.
I think it would be nice to have some unit tests for the propagation.