[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
  Build
failed #167887
docker-build
build_linux_36

00:21:36

50.0%
 
Name Stage Failure
failed
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