Update Project 2: Localization.

Add new autograder tests to catch motion model errors earlier. In particular,
later particle filter tests will fail with a slow unvectorized motion model
implementation.

Update sensor model likelihood plot with a more interpretable default option
that only considers the particle positions (and doesn't encode their angle with
color). The option to color particles by angle is still available with
show_angle=True, and further emphasizes confident particles to make them more
visible.
2 jobs for main in 5 minutes and 10 seconds
Name Stage Failure
failed
lint Test
$ pip3 -q install flake8 pep8-naming typing
$ python3 -m flake8
./localization/src/localization/particle_filter.py:43:9: F841 local variable 'n_particles' is assigned to but never used
./localization/src/localization/particle_filter.py:155:9: E303 too many blank lines (2)
./localization/src/localization/particle_filter.py:367:1: W391 blank line at end of file
./localization/src/localization/motion_model.py:92:9: F841 local variable 'n_particles' is assigned to but never used
./localization/src/localization/resampler.py:4:1: F401 'numpy as np' imported but unused
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
test_packages Test

Summary: 67 tests, 6 errors, 29 failures, 0 skipped
Cleaning up /builds/cse478/21sp/mushr478.tmp/tmp.jjiTr5jO4u
Uploading artifacts for failed job
Uploading artifacts...
/builds/cse478/21sp/mushr478/.workspaces/**/test_results/**/*.xml: found 22 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=1279303 responseStatus=201 Created token=z3TTYSbS
Cleaning up file based variables
ERROR: Job failed: exit code 1