[DO NOT MERGE} initial zsh support

Changes introduced:
- add zsh support to Terminal.vala
- start of zsh_startup.in script
  - basically copied from bash_startup.in
    - bashisms removed
    - use function autoloading instead of bash specific export -f
- Termlet support
  - ls and ps termlets appear to be working correctly now for both bash and zsh (zsh version calls them using zsh <termlet> to override the #!
  - wget termlet will update the status bar when download is initiated and when progress is updated, but does not clear the status bar when download complete/cancelled.

Outstanding issues:
- wget termlet not updating status bar on download complete/cancelled.
- history completion menus are not working for zsh
- PS1 prompt not updating properly for zsh

If `Settings.get_default().shell_path` returns an invalid shell, we will proceed with that invalid shell from this point anyway. Instead, this should somehow "hardcode" bash so we have a true fallback.