First pass at hint request experiment.

Based on a value returned by the server, hints are either shown as normal or
users have to press a button to see the hint.  The placement of the "request hint"
button relative to "try again" is also controlled by the value returned by the
server.  If no value is returned, the experiment does not take place
(hints are shown as usual).

Dashboard side at: https://github.com/code-dot-org/dashboard/pull/1047
I wondered the same thing.  I looked on StackOverflow, and it looked like the solutions required JS support.