Fixes for Swift language issues

Adds built-in Swift methods and attributes, corrects the number
recognition for non-decimals and numbers that contain underscores,
removes string matching from within string interpolations, and adds
class/protocol/struct/enum recognition.
This one definitely needs `relevance: 0`. Numbers have zero relevance across all the languages so the default relevance gives Swift a huge unfair advantage and actually breaks one test in the full suite because of that.