Refactor bash prompts

Make a couple of changes in the bash prompt setup to avoid repeating
myself as much:

- Assign bright colors to be the same as normal colors for terminals
  that only support normal colors, allowing prompts to be the same for
  all non-dumb terminals excluding bright colors.
- Since my prompt looks basically the same everywhere, encapsulate that
  in a shell function with formatting codes passed in as arguments.
- Add a `:` at the beginning of the last line of the prompt and a `;` at
  the end to allow pasting shell command lines right back into the
  shell to re-run them without having to edit them.
Incorporate exit status into prompt