Improved support for create parameter in put index template api

The put index template api supports the create parameter (defaults to false), which tells whether the template can replace an existing one with same name or not.

Looks like we are forcing the `create` param to true when the request comes in with the POST method, which is not consistent with our other api. Also when there's a conflict we return 400 - Bad Request, which doesn't seem like the best status code for this case.

The following are the changes made:
- Unified behaviour between PUT and POST method, whereas the POST would previously force create to true
- Added create parameter to the rest spec (was missing before)
- Added a REST test for create true scenario
- Changed the error code returned in case of duplicate from 400 - Bad Request but to 409 - Conflict