switching to promises. one-to-one compilation only

@aaronfrost  you might want to take a look at this. I switched to a promises implementation and cleaned code a little bit. Also I changed to allow one-to-one compilation only and the plan is to make it work with recursive compilation in the near future and make this plugin work like browserify does when you specify a file and it falls through the tree of requirements.
Let me know what you think!