Added traits to permissions.

Includes commands, tests and what not.
Additional lockout check when revoking permission to authenticate
Fix unit test for instance config write

Due to changes made with traits which are saved by default. The unit
test is now edited to pluck the last item of the commands list, future
proofing the test but also ensuring that connection details are entered
into the config.
Fix/Hack the test for security config saving given traits
Traits now only saved if the permission requires saving
Added description to permission + tests

Also includes description attributes that I'm going to have to fill in.
yay!
Copied+Pasted comments into description attributes
No longer saved traits or descriptions

Thinking on it, if we ever needed to change them they would be
overwritten on-load. This method means plugins are responsible for
setting up their permissions (traits and descriptions) on each load,
just like Procon is, however it also means we can make alterations in
the future easily.

Really it's also kind of pointless saving this data since it's hard
coded into Procon or the plugin.
Added description attribute values and default traits to permissions