Changes to allow new language definitions

- Added proper Languages module definition
- added internal storage for languages to Languages
- tests... actually removed some mocking becuse they caused
  false positives
- changed language check of supported_language to use internal storage
  in Languages.

These are changes needed to add more than one language. The way you were loading languages didn't work as well as you thought via the module. Adding a new language in a separate file would not be loaded into scope. If you want to go back to your original way of doing things, you'll have to move all language classes to inside the Boxci::Languages file, which is also a solution. Judging from how you had it, though, you want new languages to be defined in separate classes that extend Boxci::Language. 

I'm working on a JS language definition, but did not want these changes to be lost in that PR. Once this change has been merged (or an acceptable solution has been created), I will resume my work to add a Jsnode language definition.