custom files can now be imported on the web interface

Before the fix, custom files (user theory/concept files) were treated as regular files. This meant that the compiler will go and try to locate a physical file object with that name. With this fix, the compiler will first check if this is a MetaFile created by the Web IDE. If it is, it will compile it using compileImportSource and the rest of the logic is the same. 

@ctcook Can you look over this change?