Support JPM addons (bug 1037201)

https://bugzilla.mozilla.org/show_bug.cgi?id=1037201

@kmaglione This might not cover everything. Please let me know if I'm missing anything. Here's what it does:

* Accept the combo of "package.json" and "bootstrap.js" as jetpack addons.
* Validate the `id`, `name` and `version` fields of "package.json"
  * Perhaps `engine` should be validated as well but I'll do that tomorrow.
* All "package,json" errors and "install.rdf" errors are treated as errors, even if both files are present.

Olympia PR to come.

Why? Version numbers are [defined](https://developer.mozilla.org/en-US/docs/Toolkit_version_format) to contain any ASCII characters. Arguably we shouldn't allow non-printable characters, but this seems needlessly restrictive.