Don't parse if SMS wasn't from a user
Check subclass instead of error catching
Actually bail properly
Use `isinstance`
Add paperclip icon to multimedia case properties
Fail multimedia case properties on CommCare <= 2.5

External media questions should not be able to be selected as a valid input type to the case property saving UI if the current project is set to CommCare 2.5 or below.
Improve XML diff output

- Normalize attribute sort order to reduce noise.
- Fix argument order in FormPrepBase.assertXmlEqual super call, which corrects the Got/Want labels.
- Remove extra newlines (double-spaced lines).
Generate attachments in case XML
Use exception to handle the error
remove staticmedia/ dir, which is unused
remove unused attachment_src flag in attachment view
bump jsonobject version to 0.4.0

there's actually no difference, between these versions but there was a
faulty version 0.3.0 that I'd like to avoid people getting if they do

pip install jsonobject -U
Merge pull request #3092 from dimagi/bump-jsonobject

bump jsonobject version to 0.4.0
Merge pull request #3090 from dimagi/delete-staticmedia-dir

remove staticmedia/ dir, which is unused
Merge pull request #3088 from dimagi/dont-hog-texts

Don't parse if SMS wasn't from a user
fixed anc hmis calculations
Merge pull request #3083 from SolDevelo/M4CHANGE_3_6

fixed anc hmis calculations
work in progress
remove explicit form_url param and generalize method
add session context endpoint and simplify session access apis