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 some specific implementations of those
abstractions for some popular social networks.