Added methods to GradingRecord Logic to facilitate creating/updating them.
UpdateOrCreateRecordsFor will batch put GradingRecords for a given SurveyGroup and StudentProject.
getFieldsForGradingRecord will return the fields that need to be set for a single GradingRecord entity given a StudentProject, GradingSurveyGroup and if it is an update a GradingRecord entity.
"""
Code used in a couple of places to work with the current thread's environment.
Current users include i18n and request prefix handling.
"""
try:
import threading
currentThread = threading.currentThread
except ImportError:
def currentThread():
return "no threading"