Allow resolvers to specify WHY they failed

- Added class unresolvable() as an option to return
- unresolvable() always evaluates to False to avoid breaking legacy
implementations