Allow booleans for field-level index mappings in YAML (fixes #510)

This also fixes support for the "sparse" mapping key, which was used for index options but ignored for actually determining if an index should be added at all.

If any of "index", "unique", or "sparse" are present at the field level, they will cause the field to be indexed. In order, they will then be consulted for an "order" option to apply to the field (note: there is no difference between asc/desc for single-field indexes in MongoDB), and finally used for index options if an array.