Custom cache providers (#2)

- resolving with c.inferImplicitValue
- emitting a compiler info message when custom builder is not present at the enclosing type definition scope and the default one will be used

I added some Scaladoc comments and update the Readme.md.