Self-organising energy demand allocation through canons of distributive justice in a microgrid