many minor usability enhancements for chef, as shown by new simple example mysql-chef.yaml

- catch occasional NPE
- don't use ruby `absolute_path` as it is not in some common (older) versions
- better messages on errors
- respond to more flags in simple yaml
- install recipes from local machine (using classpath or file:/// URL's)
- misc tweaks to deploy/archive/install (cc @grkvlt) to run as tasks for traceability
support accessing config through the brooklyn dsl, and chef example uses that to set a value once, at the root
add tests for YAML DSL, including serializability, and fix some minor serializability issues but not #1422
rename `Urls.getFilename` to `getBasename` following code review so directory name behaviour is clearer
Merge pull request #1426 from ahgittin/chef-enhancements

many minor usability enhancements for chef, as shown by new simple example mysql-chef.yaml