Add entity class and interface

I can remove tests from the PR if they make it too big, but I think they may help show the entity methods in action.

The real focus of scrutiny on this PR really should be in the page class and the migration for the table setup.

1. Outstanding issue to figure out: How to enforce unique "route" names.
You mean multiple locations??? Maybe ??? Although I'm not sure how that would be done on the front end side either. 

We could have all available locations (loaded from the pages_links table) show as Checkboxes. The user checks the locations they want, and we can store their choices as a serialized array of page_link_id's in this field, which would negate the need for another table. This could then be renamed page_link_location_ids or page_link_locations and be changed to a string field??