Add new functions for efficient matching of LRU objects set

This adds some new match functions which allow consumers like ddoc_cache some added efficiency when matching multiple values. It will be used to allow selection of design documents by revision or by id alone. It also makes a few codepaths in that codebase go away.

The alternate plan was to support using a bag for objects. This was convenient for adding multiple revisions of a document with the same key but more difficult given how access times are stored, which would then require more changes and some questionable API behavior depending on how the ets_lru cache was setup. I've opted for this approach for now as its less invasive and avoids creating a mess of already chosen semantics.

I've also added simple dialyzer support to the makefile and fixed an argument ordering bug that was introduced in 5aab9df4f452126aa2763eafdb8dff930f8c9712.