Added local define feature

This feature duplicates the define feature from before but gives it an
additional scope, you have the global defines from before but now you
have local defines that apply only to the single alias. Local defines
take first precedent followed by global defines.