added template API syntax spike as a unit tests so @gmarz and I can itterate over it together
Refactoring of initial search template implementation

* Mapped to search template endpoint
* Class/method renaming and folder structuring
* Unit tests to demonstrate syntax
formatting
Merge branch 'feauture/search-template' of github.com:elasticsearch/elasticsearch-net into feauture/search-template

Conflicts:
	src/Tests/Nest.Tests.Unit/Template/TemplateSpikeTests.cs
post merge build failures
added constructors to QueryPathBase and its subclasses to be more inline with other OIS classes, deleteby query untyped OIS parameterless constructor no longer defaults to _all index to be more inline with search requests defaulting to the default index
Add Params() overload that takes a FluentDictionary
setup build.bat to download gitlink tool
Modifications to SearchTemplate() to better align with the api endpoint
Add async and OIS search template variants
Partial support for Get/Put/Delete search templates
Update generated classes
Complete support for Get/Put/Delete search templates with integrations tests
Move and rename indices template tests to reduce confusion with search templates
Enforce search template name on fluent API
Add support for template query
Move query template classes to more appropriate folders
Add unit test in attempt to reproduce #960
Fix #962:  Analyze() on an empty string should not throw an exception
Add string/double Fluent Dictionary Option

* For the MultiMatchQuery, this adds an override to OnFieldsWithBoost to
allow one to specify a list of fields and boost values with string
values instead of fluent values.

This is useful in the case of multi-fields where you have no fluent
equivalent of the field name you want to query and boost on.