Fix update request not properly inferring doc id

Update was only inferring the doc id from Upsert and not Doc as well.
Additionally, a NullArgumentException was being thrown when specifying the
id property via the ElasticType attribute due to the order in which route
parameters were being validated (checking id before UpdatePathInfo() was
being called).

Closes #806