Also log sanitized error in server logs (which gets sent to client) on match errors
Merge branch 'avital-expose-match-errors-on-server' into devel
Update History.md: log match errors on server
recognize forceApprovalPrompt option in Accounts.ui.config

this option was originally added via #1226
Assure that transform is not changing cached object.
Make it more clear that the clone is for transform
fix typo
Expose match failures in server logs
Also log sanitized error in server logs (which gets sent to client) on match errors
Add guard I forgot to add in 693b78001c83d48ef31ea0fe432327f68ee16023

(Thanks @justinsb for noticing this!)
Add guard I forgot to add in 693b78001c83d48ef31ea0fe432327f68ee16023

(Thanks @justinsb for noticing this!)
Merge branch 'devel' into packaging

Conflicts:
	tools/utils.js
add missing underscore dep
fix tests broken by 6850b679e9
assert rebuildLocalPackages in capture
Add many buildmessage.capture/assertInCapture

Moving towards a world where all things that might invoke buildmessage.error are
encouraged to be in a buildmessage.capture.

This commit is the answer to the question "how many small changes need to be
made to add buildmessage.assertInCapture to PackageCache.loadPackageAtPath?"

Next steps include:
 - Making catalog.resolveConstraints ALWAYS buildmessage.assertInCapture
   (not just when ignoreProjectDeps isn't passed)
 - Then changing resolveConstraints to complain using buildmessage
 - Removing the process.exit(1) in _ensureDepsUpToDate
 - Adding a more structured way to ensure that most commands
   call _ensureDepsUpToDate at an unsurprising location
different error code for server errors
don't just crash on unknown packages when changing admin
Separate "browser" target into web.browser/cordova

Cordova projects often have a different set of files than web targets,
so we would like to be able to target different client architectures in
our bundles. Ideally, we allow the user to use arbitrary client
architectures - but this patch is a step in the right direction by
abstracting out more of the hard coded "browser"/"os" lines.

We accomplish this separation in a backwards compatible way by allowing
api.___ commands to target a "client" architecture. For example,
api.addFiles('a.js', 'client') adds 'a.js' to both the 'client.browser'
and 'client.cordova' targets.

Effects on 0.9 packaging stuff: packages don't have to change, but the
"data.json" file in ".meteor0" has "browser" in some places. We think we
have to fix the troposphere code where this data.json is created.

Some plugins will also be backwards-incompatible with this change, since
many have a "clientArch.matches("browser")" line in the plugin
code. Ideally, we fix plugins so that this stops being an issue, but for
now package authors can just patch that line.

At the compiled (unipackage) level the new names are 'web.browser' and
'web.cordova', replacing 'browser'. In package.js, the new names are
'client.browser' and 'client.cordova', serving as an adjunct to 'client'.
fix orderKey regexp