Remove std::unary_function from hash specialization.

std::unary_function was deprecated in C++11.
Clean up Symbol implementation, rename member.

Rename private data member name to name_ and use C++11 uniform initialization
syntax in the initialization list instead of copying the name in the body of
the constructor. Also remove unnecessary use of the this pointer.
Suffix class data member names with '_', use initialization lists.

Changed data members to be named with a trailing '_' to distinguish class data
members from non-class variables. Also, use initilization lists to initialize
these data members.

TODO: Make these data members private.
Merge pull request #20 from hazelnusse/polish

Polish