created .gitignore

Build generated files, nor data files, nor files left unattended
by editors should ever be committed.
fixed env.sh script

The env.sh script failed when the regular 'cd' command was overloaded
to write anything to std out. (For example, run 'ls' after 'cd')
The output of cd was not needed for the script,
so it is now redirected to /dev/null.

Additionally, the script can now handly symbolic links in its path.
Generated files should never be committed.