Refactor profile loading to use YAML

This is done in order to more easily test configuration syntax errors,
as the the minion configuration file uses YAML.
Add unit tests

In addition to custom ESX profile, test:

 - default KVM profile
 - default ESX profile
 - custom KVM profile