Input/output alias support

We can now rename inputs/outputs on entities without breaking old dupes.
It can't handle removing inputs or outputs, though.
Input aliases for all entities I could find
New E2 preprocessor command autoupdate

This preprocessor command will make the E2 automatically update itself
on dupe. This saves you the trouble of saving a new version of your
contraption every time you change something in your E2s.