Allow template nodes to be passed as a template option

Split the parsing/switching logic of the type of template option
provided into the `template-parser` module and refactored `fragment`
module to only convert string -> document fragment
Merge branch '335-allow-using-node-as-template' of https://github.com/jordangarcia/vue into template
make tests pass for #335