rpcserver: Hash auth using random-keyed MAC.
rpcserver: Hash auth using random-keyed MAC.

This commit replaces the SHA256 hash of the HTTP Basic Authorization
header with HMAC-SHA256.  The MAC is performed using a random key read
from the cryptographically random source at server creation.

Storing the authentication details with a MAC unique to each startup
hardens the server against certain classes of memory dumping attacks.

While here, a server field that must be accessed atomically was moved
to the top of the structure, to reduce the likelihood of misaligned
access on architectures where that is forbidden.
decred/dcrd,decred/dcrd