Verifying Finite-State Graph Grammars: an Unfolding-Based Approach