Move Power out of Building and into its own trait

This should allow for non-buildings to provide and use power.
change trait name Power to ProducesPower?