[DT] Improved the handling of string formatters and `emptyCellValue`

* Fixes issue https://github.com/yui/yui3/issues/843
* Makes handling of empty values consistent.  Different criteria were used to evaluate that when applying the string formatter or the `emptyCellValue`.  Now the use of a string formatter or the `emptyCellValue` are mutually exclusive, leaving no ambiguous cases in between.
* The protected instance property `_emptyValues` has been added to avoid hardcoding what should be considered empty or missing values.  
* String template formatting has been relegated to a `stringTemplate` formatting function in the `BodyView.Formatters` hash of functions.