Code review!

Greg and I took a look at this, and these are the results! Not very many changes here. Look at commit messages for descriptions of each change.

One thing we didn't change but talked about is the way that pop works. We'd expect pop to pull the top element off and set it to the clipboard, as opposed to pulling the top element off and then setting the _new_ top element to the clipboard.

For instance, if I push an element onto the persistent clipboard and then copy something else, if I want to get the old element back, I have to push again and then pop; I can't just pop.

Also, I'd _not_ merge this if I were you, but rather pick through the changes and manually make whichever ones you'd like to keep :).