Link to receiving user's profile in modmail.
Reports: show report reasons prompt everywhere

[A user suggestion][0] from /u/wickedplayer494.

Now that the "report reasons" box has gotten some good user testing, use it
everywhere you can report a comment or post.  The only place I could find that
wasn't already doing this was the inbox, with reply notifications.

[0]: https://www.reddit.com/r/bugs/comments/2nq57y/reporting_comments_through_the_inbox_page_does/
Consistencize account text

To avoid debate over "login" the noun and "log in" the verb, we're making a
move towards using "sign in" instead.  The first part of this was done in the
login rework in reddit/reddit@c4f5b6c2.

This commit continues to make our verbage consistent on "sign in" and "create
an account", avoiding use of "log in" and "register".  Specifically, these
should all be consistent:

* Upper-right modal-popping text
* Headers on modal and /login
* Buttons on modal and /login
* Page title on /login

I didn't change the text in the old login flow, because that feature flag seems
like it's going to be pruned soon.
Add user agreement to registration/login
Add password strength meter
Report form: hide on gold payment page

In reddit/reddit@76858eb, I expanded the places we could use the report form.
Unfortunately, it got caught by a CSS rule on the reddit gold payment page that
made it visible, despite not being at all useful on that page. :)

Now that CSS rule is slightly more scoped.  The only other `<form>` that's
inside `.gold-payment` but **not** `.gold-wrap` is the share dialog, which has
an inline style hiding it.
vote: Refactor vote casting to prepare for pgvote removal.

The intent of this patch is to refactor the existing vote-casting code
into a state that's ready for pgvotes to be dropped and replaced with
reads from VoteDetailsByThing.  Ideally, no behaviour is changed by this
patch (hence "refactor") and then the later data model change will be
lower risk as a result of less code shuffling.

Once this patch is applied, the `Vote` class/rel is considered an
implementation detail of the vote module and hidden from public view.
HACK: fix Stripe webhook errors with tokens including dash
Style cleanup.
Add arg for binary mode to CMemcache.
Disable binary mode on rendercache.
Disable binary mode for permacache.
Disable binary mode for pagecache.
Disable binary mode for ratelimitcache.
cache.py: Enable verify_keys for mc ASCII protocol.

The memcache ASCII protocol is vulnerable to injection attacks, so tell
libmemcached to verify keys are valid before sending them to memcache.
Enable link attribution on GA clicks
Add VUser() to OAuth only endpoints

In preparation for application-only (non-user) OAuth access.
OAuth2: Application-only OAuth2

This implements the client_credentials grant type.

This allows 3rd parties to use the OAuth domain for
logged out (user-less) API access in addition to existing use for
logged in access.
Docs: Minor update to POST_access_token docstring
OAuth2: Don't make installed apps use secrets

Installed apps are considered "public" as part of the
OAuth2 spec (unable to keep a secret). Don't
show a secret for such apps on the /prefs/apps page,
and don't check the secret as part of client identification
for such apps.