BRANCH 4.0:
  updated SearchKey.get_by_search_keys() to support keep_order kwarg
  removed the unnecessary use of str() for code in Snapshot.get_by_sobjects()
BRANCH 4.1:
  ensured @GET and @GETALL expressions are cached with different keys
  renamed the key to tmp_key for a variable used in evaluation palette