rewrite
fix field implementation
use consistent (node, selector) ordering for interfaces
consistent styling
add comments
implement arbitrary subject matching; fix sibling and adjacent matches
DRY sibling, adjacent, nth-child, and nth-last-child matchers
refactor, clean up, and comment sibling, adjacent, and nthChild
death by 1000 gratuitous braces
manually lift variable declarations to top of scope
Merge pull request #12 from michaelficarra/rewrite

Use single-pass evaluation model; expose composable interface; use estraverse
fixes #11: generate parser using PEG.js; fixes #7; fixes #9
move assignments out of tests
Merge pull request #15 from michaelficarra/no-assignment-in-tests

Move assignments out of tests.
Merge pull request #14 from michaelficarra/peg-parser

fixes #11: generate parser using PEG.js; fixes #7; fixes #9
Update the version number in prep for release.
fixes #16: allow attribute selector to match non-String values
fixes #6: add selector for classes of node types

XML is omitted because it's harder to detect and very uncommonly used
make class selectors case insensitive
Merge pull request #20 from michaelficarra/GH-16

fixes #16: allow attribute selector to match non-String values