Added Badge#getRubricItems().

This method parses the criteria content by looking for bullet points
(lines that start with `*`) and converting them into rubric items
that match Aestimia's rubric item schema. If a bulleted line
contains the text `(optional)`, the corresponding rubric item is marked
as non-required; otherwise, it's required.

If no bulleted lines are found, the method returns an array with one
required rubric item, consisting of the text
`Satisfies the following criteria:\n` followed by the raw criteria text.

We still need to make API endpoints return the rubric information, but
hopefully this helps us get closer to a solution for #120.
Merge branch 'v2.0' into issue-120-rubric-parser
API endpoints that return badges now include rubric information.
Merge pull request #139 from toolness/issue-120-rubric-parser

Parse rubric information from criteria and provide it via the API
renamed some api tests.
API returns badges that are more like the ones in the wiki spec.
return program id/shortname in api badge responses
Issuers can now be saved w/o contacts.

Fixes part of #140.
Issuers are now listed alphabetically in a vertical list on admin index.

Fixes #142.
Age range field is now multi-select.

Fixes #144.
Added -f/--filter option to bin/test.js and documented it.