Make the filter function have an async option.

This fixes #6 but needs tests.
For backwards compatibility, the new filter method falls back on filterSync if no callback
is provided.
Swtich to a more standard callback(err, result) syntax
Merge pull request #8 from jay-depot/issue-6

Make the filter method have an async option.