move out FileMD5Hash and Reachability as dependency
add gitignore and ignore DS_Store