PropertyDefinition: Optimized memory usage
PropertyDefinition: Optimized memory usage

- Removed "isUndefined" boolean, which took 16 bytes on PHP7 and 64 on
  PHP5.

- Added support for "mixed" in addition to the earlier "" shorthand for
  defining mixed/untyped properties. Both are now valid.

- Changed "propType" to NULL if untyped ("" or "mixed"). Makes comparisons
  cleaner and easier to understand. Doesn't actually affect memory.

- Removed the "undefined instance". Will move that to sub-class instead.

aitte2/LazyJsonMapper,aitte2/LazyJsonMapper,SteveJobzniak/LazyJsonMapper,SteveJobzniak/LazyJsonMapper