Quite heavy refactoring and addition of features specified in Ansible
ML discussion: https://groups.google.com/forum/?fromgroups=&hl=sv#!topic/ansible-project/n6VijbjQCc4
Added a catch all error message at the bottom.