Index Template: Parse and validate mappings in template when it puts

Parse and validate mappings in template when it puts.

* parse and validate mappings in template using dummy index service
* return error if template include invalid mapping 
* Not support a partial template

Close #2415
This is a scary way to validate the settings...are we guaranteed here to be single threaded within the cluster? ie this will only happen on the master node right? If that is the case, can we always create the same index name, and simply delete if it already exists before trying to add the new one? This way, if an edge case happens that allows us to exit this without deleting the index, the next put template would clean up the dummy index?  Also, can we make this dummy index completely hidden to the user, so that doing a list of indexes will not show it?