Make this plugin actually work!

@iamdarrenhall Thanks for sharing this great plugin. I encountered a few bugs, and while trying to resolve them, I throw in a few enhancements too. Unfortunately, I have an auto code prettifier running and reformatted your source (hope you don't mind).

Here are the details of this change:

1. combined loadTemplate + renderTemplate
2. stream through all files (sprite.svg, sprite.css, [optional] sprite.html), instead of some coming from stream, some being written by 'fs'
3. added `svgDest` option to allow configuration of the output .svg file name + path
4. changed to use some of the best practices of writting gulp plugin
5. fixed various bugs (e.g. end the stream)
This needs to be a sync call so the result can be pushed into stream before the callback is triggered.