Remove the action key from history entries

The action is save in the entries' parent dict key ('opened' or
'closed') so there is no need for the action to appear again in every
entry.

There were cases previously were the action was missing I suppose (for
some reason) and 'accessed' was used, but that shouldn't happen anymore.

Closes #30.
Optimize querying selected history entry

Previously it was called 3 times with always the same result, so we can
just cache it.
get_history_index => get_history_by_index

No idea what I was thinking~
Merge branch 'no_action_key' into dev
Use singleton metaclass instead of classmethod

Reduces instance access code from `FileHistory.instance()` to
`FileHistory()`.

Closes #29.
Run plugin_loaded on ST2 on module load