Rename List->BuiltinList in gracelib

Moving List out of the way allows defining a separate List type later,
which would otherwise have a conflicting name.
Add globally-available List type