aux outputs: lookup by node keyword rather than node label

Program's label is Program $(@) which meant we looked up the AUX_FILES_
environment variables incorrectly.

By switching to self.Keyword we lookup AUX_FILES_PROGRAM and correctly
detect the output files. Which are thus correctly cleaned up.

AUX_FILES_SHAREDLIB is renamed to AUX_FILES_SHAREDLIBRARY [API Change]