Fix CSLItem.match

Previously CSLItem.match would not pick up words in the middle of a phrase.
Now it will.
Implement CSLItem.as_array.name

Also some minor changes to CSLItem.as_array.number and CSLItem.as_array.plain.
Modify CSLItem.match

Searches tokens directly rather than searching joined arrays.
Make CiteprocSource.find_bibfiles clearer.
Rewrite CSLItem.as_array.name
Comment initial variables and switch to hash
Create CSLItem.buffered_as_array
Define date variable parser in CSLItem.as_array
Create CiteprocQuery.easy_matches
Change SourceCollator.collate