[reports][js] dont let reports be locked with unused exps

Adds a flag to the experiments table to indicate which experiments
need to be added to a group.
Also changes the Lock Button functionality:
- will save report before locking it
- if the report has experiments that aren't in a group,
  the report wont lock and will instead show a modal asking the
  user to either add all exps to a group or remove them.

Closes #529
1 job for <span class="ref-name">529-unused-exps-in-report</span> in 21 minutes and 36 seconds (queued for 8 seconds)
Status Job ID Name Coverage
failed #167887


Name Stage Failure
build_linux_36 Build
TOTAL 12739 6354 50%
Ran 154 tests in 29.684s

FAILED (errors=2)
Coverage.py warning: Module beat.cmdline was previously imported, but not measured (module-not-measured)
Coverage.py warning: No data was collected. (no-data-collected)
ERROR: Job failed: exit status 1