Consider user defined keywords for completion

Also consider special cases for docsets with the same framework name,
but different versions, like Python 2 and 3, Qt 4 and 5.