Add global color variables and related functions

Make color values accessible as `solarized-base01`, `solarized-blue` etc, and add a `solarized-theme-hook` that runs when those variables are updated (plus some other related functions). You can then use the color variables in ad-hoc situations:

```emacs-lisp
(defun my-custom-org-setup ()
  (setq org-todo-keyword-faces
    `(("TODO" . (:foreground ,solarized-orange))
      ("HOLD" . (:foreground ,solarized-base3))
      ("DONE" . (:foreground ,solarized-base01))))
  (font-lock-fontify-buffer))
(add-hook 'solarized-theme-hook 'my-custom-org-setup)
```

I'm not certain this should be merged, it's clumsy and I'm not too familiar with the customization system. It's a solution to this situation:

- You have a project with some dedicated setup code where you want to use Solarized base colors.

- You want the base colors to refresh when swapping between the dark and light themes.

- You don't want to write separate code for handling color-theme _and_ the custom theme system.

Is there a more elegant / proper way of achieving this?