add support for requisition receipts + tests

    - receipts close the last open requisition and set updated properties
      on it.
    - no major changes though small tweaks to sms transaction objects to
      make them aware of their own domain, location and location id
    - add function to get open requisitions by case and for receipts use
      this to find the last requisition that should be updated and closed
    - miscellaneous cleanup (see commits)