generators now keep track of their lumen amounts

generators use a range field to determine if it can harvest/unload
generator have a debug text to show their amount/max
added the main generator object
cleaned up / added documentation for generator and harvest code
Merge remote-tracking branch 'origin/master'