Add recently-active sort order option

I'd consider this a quite hacky implementation, as my lisp skills are
mostly on a "monkey see, monkey do" level. I've tried to understand the
existing code around sorting, how it works, and attempted to implement
this in a seemingly similar and sane manner.

Overall, recently-active sorting operates in three stages/groups:

1. First come any files of open project buffers, sorted by when said
buffer was last active.
2. Secondly recentf is used. As far as I understand they're sorted based
on when the file was opened.
3. All remaining project files.

I did experiment with removing the current buffer's file from the first
open buffers stage, but opted against it I personally felt it gave a
nice context to default to the current buffer's file at the top of the
file list.
Merge pull request #353 from jimeh/sort-by-recently-active

Add recently-active sort order option