Add ability to define User settings.

This commit will also make adding new settings in the future
much easier, without the need to reseed the db. Settings are
generally retreived in the order:
   UserSetting->GlobalSetting->DefaultSetting
Added POST only (+1 squashed commit)
Squashed commits:
[bdd9305] Initial API endpoint to be used for future shenanigans
Merge pull request #258 from t3rminalVel0city/api

Initial API endpoint to be used for future shenanigans
Rename getPermissions() to getGroupPermissions()
create tabs for core/t2/t3 ships and provide skill overview for them
Merge pull request #265 from LunarchildEU/ship-skills

Ship Skills Overview
Update (+1 squashed commit)
Squashed commits:
[2c5249d] Added API doc (+1 squashed commit)
Squashed commits:
[6922c5e] Added API quickref doc.
Minor SeatGaurd refactor wrt User() context

The functions hasAccess(), isSuperUser and getUserGroups now
assume the current users context unless told otherwise
Merge pull request #266 from t3rminalVel0city/api-doc

Added API doc
Add hasAnyAccess() and cleanup sidebar for normal users
Restore check for isSuperUser()
Fix some broken sign-in redirection
Fix user groups viewing in User profiles
Add inc ID as Laravel seems to hate composite keys :(
Fix setting settings as a user and add main_character_name setting
Expose some user configurable options

This includes some lame profiling, theme settings and a option
to see the account access log too. This fixes #173
SeAT settings HTML fixups
Alpha sort character menu
Fix findAllUsersWithAccess() since the hasAccess() change
Fix up the addToQueue arguments that were missed