views.py:
- dramatically reduced the number of DB queries for getting the samples in view_samples() and view_subject()
   - accomplished by building my own nested dictionary structure instead of passing a queryset of model objects to the template

view_project_samples.html
view_subject.html
- updated templates to reference the new dictionary keys