Refactor configuration of DNData

This strips out the live / dev conditional configs out of DNData, and also replaces the constructor ordered parameters to DNData so that configs make more sense and are easier to override. This also allows these fields to be configured via `mysite/_config.php` if necessary. (e.g. `DNData::inst()->setDataTransferDir(DATA_TRANSFER_DIR);`)

Some instructions have been added to the default config.yml on how to configure these paths best in your live project.

This also resolves a critical issue where data transfers failed due to the data transfer directory having the `../assets` value appended to `BASE_PATH`, which is not where the site assets are actually stored.

`realpath` has been used to help resolve complicated relative paths and make logging more robust.
ViewableData makes DI work better with getProperty and setProperty