Implemented the authentication interface

This implements the Facebook authentication interface. Aside from basic
authentication operations, this supports authenticating with additional
authentication methods, such as authentication codes.