Real HttpPut
This should work, but you have to modify the ExtensionlessUrlHandler to allow additional verbs:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
X-HTTP-Method-Override
This seems to be a bug (or not just implemented) in 5.0. You could try a nightly build of MVC 5.1 Alpha, where X-HTTP-Method-Override gets respected.