Add social network abstraction adapters

Most social networks provide API to allow applications to request or
upload data to their services.  This commit adds adapters which
provide some convenience abstractions to allow various social networks
to be supported, as well as a specific implementation of those
abstractions for a popular social network: Facebook.