Refactor out I/O ops from util.Properties

Added
* util.PropertiesStreamReader
* util.PropertiesStreamWriter

writing now also supports writing to different charsets to be consistent with reading.
Hrm, hard to tell for *all* the versions; at least on the last 5.3-release .27 it works: https://travis-ci.org/kiesel/xp-framework/builds/33572463