Improve local role handling

- allow role filename to be different than role.name
- test json and rb role files

This patch mimic the Chef::Role.from_disk method which unable to read in
subdir (how sad!)