Avoid regex in the common case

Escaped characters in field names are highly unusual. We can quickly
test for their presence and if none are found do the path splitting
using the more efficient binary module instead of regular expressions. A
microbenchmark shows this approach to be a little more than twice as
fast as the original.
Parse each field only once

The get_field and set_field functions accepts parsed fields (i.e.,
Erlang arrays of path components). By exporting the parse_field function
we can halve the number of times we actually execute the parsing code.

BugzID: 42709
Merge pull request #13 from cloudant/42709-faster-field-filters

Optimize field filters