If a file extension is specified in a require it is kept. Closes #1

I basically just ensured that if an extension is specified for the `fullPath` of a require, it will use that in the new one. This prevents breakages in certain situations such as with a `hbs` or `json` file.

Sorry about the commit message not making much sense, I put the word "require" in code quotes and it  stripped out the whole word.