remove Travis workaround, improve Guardfile
define symbols and scopes
use lvalue reference instead of rvalue reference

because the name of symbol is passed from the member variable of AST
node.  so it should be copied.
define symbols and scopes in a global scope