product_on_basis() a cached method and manually cache its
entries. The cython cached method lookup should be faster than a
python-based matrix lookup anyway.
+
+7. What the ever-loving fuck is this shit?
+
+ sage: O = Octonions(QQ)
+ sage: e0 = O.monomial(0)
+ sage: e0*[[[[]]]]
+ [[[[]]]]*e0