Added .gitignore, Addresses issue#24 and added unit tests