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.
Added test https://github.com/sklam/numba/commit/985dff7e8827b72b9395c5ef4cce695fc4deda45