Added more verbose error logging to cmdset loading.
Deprecated the code= keyword of contrib/menusystem - this is replaced with a callback keyword where a function object is supplied rather than a code string. Code still works, but will give a deprecation warning in log. Cleaned up the code and fixed dynamic yes/no allocation. Should handle the remaining issues of #596.