Everything now works with naive hash compositions

Use Concat for outer-level HMAC, and use XOR for inner PBKDF2 calls.  I believe
this covers all of the bases without any new assumptions.