Restore/respect "require secure browsing" for Facebook (libphutil)

Summary: Ref T1536. Facebook use this OAuth option which impacts only Facebook, but since it's auth related we should probably grandfather it in. See next diff for the Phabricator part.

Test Plan: Configured / force triggered it, got told ot turn on secure browsign.

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Maniphest Tasks: T1536

Differential Revision: https://secure.phabricator.com/D6223
Fix OAuth profile pictures for FB

Summary: Ref T1536. Older versions of this code had a multi-parameter accessor for the data, but this is essentially the only callsite any provider has for that so the new ones don't.

Test Plan: {F46833}

Reviewers: wez, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T1536

Differential Revision: https://secure.phabricator.com/D6233
Fix LDAP selection of DN after searching

Summary: Ref T1536. The "dn" property is unusual. Add code to find it.

Test Plan: Walked through this with @staticshock, who verified the fix.

Reviewers: staticshock, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T1536

Differential Revision: https://secure.phabricator.com/D6235
Expand LDAP auth API

Summary: Ref T1536. Support LDAP import somewhat better so I can nuke more code.

Test Plan: See next diff. Performed LDAP import.

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T1536

Differential Revision: https://secure.phabricator.com/D6242
Add Asana and Amazon OAuth adapters

Summary:
Ref T1536. Ref T2852. These are pretty straightforward, except:

  - Amazon requires HTTPS, and won't let you make an app without an HTTPS callback URI.
  - Asana requires "Authorization:" instead of "?access_token" for authorization.

Test Plan: Created Amazon and Asana providers and used them to log in / register.

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T1536, T2852

Differential Revision: https://secure.phabricator.com/D6248