Stripping out project and derived files

I believe it's common practice to avoid checking in project files (e.g. Eclipse's .project/.classpath/.settings) and derived or compiled files (e.g. content on /target/ for Maven projects). The former is because the project files tend not to be portable, and the latter is just because it's unnecessary, I think.

This pull request removes those files from the repo, and adds a .gitignore file to prevent then being added again in the future.

Accepting this will cause conflicts with or wipe out the existing project files, so they will have to be re-generated by each developer.