Facebook pages

Add ability to get a user's Facebook pages. Other tweaks involve adding entities which operate in specific ways per the provider, having all entities come from a common base class, fixing a few bugs/nonexistent function calls.

The `manage_pages` scope is required to get any page data.