Support passing user as variable

This means the experiment templatetag can be used woth a user other than the
one associated with the current request, or in templates that don't have a
requestcontext