fixing up the progressive migration
refactored string, array, and dictionary categories to improve semantics

* strings: emptyp, stringEmptyP, stringNotEmptyP ==> not_empty,
  has_chars
* arrays and dictionarys: emptyp ==> not_empty, has_objects
* replaced fuck-all annoying stringIsEmptyOr blah blah blah method
  with string category calls
* calling append or reverse on mutable array now generates a runtime error