Fixes #2457: Admin auth required to modify playlist assignments (both API and page load)

Fixes #2457.

Includes new auth decorator and tests of API endpoint.
Hmm this idiom goes against what I've been using before. Any reason to prefer this over the one you just changed?