Update Project importer to use shared code

The process for updating the project variables and handling variable
scopes is almost identical to the process for library variable sets,
so the Project importer can use the same components that were extracted
from the LibraryVariableSet importer to reduce duplication.