heroku/force — pull request #85 by tmaher (2014-07-10 00:19:54+00:00)
Title: switch to non-metadata API call to confirm successful login

Currently, after getting creds, force-cli does a metadata API call to try and get the org's package namespace (this is only helpful if the user is working directly on a managed package). Unfortunately, there's a shortcoming in the Metadata API access control model: only users with the `ModifyAllData` perm can make metadata calls. While that's fine for DE orgs (or developers working in sandbox orgs), it's an inappropriate permission for the vast majority of SFDC customer accounts. But as a result of the post-login call, a normal user would get something like this...
```
tmaher@og-kush:~$ force login
ERROR: INSUFFICIENT_ACCESS: use of the Metadata API requires a user with the ModifyAllData permission
```
A user unfamiliar with the permission model could easily interpret this to mean "I should go get my org admin to give me ModifyAllData". I would rather we not do that. For maximum confusion, because of how `ForceSaveLogin` is structured, the SID/OAuth access token is actually saved *regardless* of whether the metadata call succeeds.

This PR switches to doing a generic whoami to confirm successful login. If the call fails, we don't persist the SID/token. We still *try* the metadata call, but don't freak out if it fails.