Support for fish

Changed the function ```_fresh_preamble``` as discussed in #125 . Same logic as before, but in fish syntax.

Currently the function works exclusively for either bash/zsh or fish, depending on the users default shell. 
If the user changes his/her default shell, the function would need to be re-run. Is this a problem? I am not sure at what times the function is called exactly.

`getent` is not available on Mac OS X. Would it be possible to detect `fish` via the presence of an environment variable?