Add some field validation, including scrubber string category from Steve.
There are a few different kinds of validation:
1. Validation where the value can be scrubbed or modified typically without harm. Titles, tag text, etc. are treated this way.
2. Values where no simple truncation makes sense. eg ENML content.
3. Values with limits that are not fixed, like max resource size.

In general, the first cases are currently validated at property set time, with silent modification as appropriate.
The second and third category are checked at the API call point (the limits can change over time) and cause errors when they fail.

The second category is a little ambiguous-- when the max number of resources on a note is N, should the note object allow the N+1 resource
but then fail on upload? Or should it simply ignore the attempt to add the N+1 resource with a warning? Currently the latter approach is implemented.
Use EDAM constants for MIME types