Add support for Orchestration (heat) service. (ref. #50)

I actually did most of this a few months ago, but I've just rebased it against master. What's implemented works, though it does not support all of the available API operations yet.

The first 3 commits are about the differences in how the Heat API uses HTTP, and shouldn't affect any existing code, the fourth is the bulk of the implementation.