Implement hashing functions

Summary:
Use functions for hashing entire strings over macros with 1 char at a time.
Move hashing functions to their own file and use a helper in backend to invoke
them.
more eclipse artifacts