Bringing Eloquent, PSR autoloading and PSR-2 to contact module

By request from @philsturgeon this pull request combines https://github.com/pyrocms/pyrocms/issues/2346, https://github.com/pyrocms/pyrocms/pull/2349, and PSR autoloading.

Aside from changes to the model this request includes bug fixes and reordering of contact plugin code. It also adds a new (Eloquent style) method to the Email model, because the old get_templates method that the contact plugin uses was removed. 

Another change is that this time the admin controller was left in due to the plans to add an admin interface at a later time.