Refactored Heatmap PUT to use mlist

md5sum a.out
a901d7fd2fdd4bdd8052b4c57a7fbcf0  a.out

Removed goto logic and used mlist to build list of model object that
will be added to the database within a single transaction.
Wrapped Heatmap PUT in Transaction

md5sum a.out
4d9be90b77da1dcf56f4fd4a1966b095  a.out

Wrapped heatmap put operation in transaction in order to abort all added
points if any part of the request is invalid. The big question is,
should we err if no points are given at all, or bring up an error if the
transaction aborts?

The API specification isn't clear on how to handle an empty list.
Error messages for invalid PUTs to Heatmap

md5sum a.out
22f8385b5fe9bcbd802f49f57e6a767d  a.out

If the client sends an empty array or an array with an incorrect object,
the API server will return an error.
Merge branch 'mlist'