Cleanup SecurityHelpers

It looks like we had some duplicated code in SecurityHelpers, so I cleaned it up a bit.

Discussed here: https://groups.google.com/d/topic/liftweb/79fshdCWGjQ/discussion

One outstanding question is why we're doing base64 encodes instead of hex encodes. I'm probably missing something silly, but it did seem odd. The output seems right regardless.

Let me know if there are any issues. :)