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.
Marker Transaction

md5sum a.out
09540e71b02ab5a254b4a0dfbda50e1e  a.out

Wrapped marker creation in a transaction in order to reverse a comment
appearing in the database should the comment be valid, but the pin be
unprocessable.
Fixed test compilation, Macro for non-null freeing

md5sum a.out
151d9bf7d03672f5c0f6e39d52dde290  a.out

Created a simple macro to free the pointers associated with latitude and
longitude degrees and offsets. Should probably undef it at the end of
the file so it is not used anywhere else, not that it could really be
used anywhere else since it's just short hand for playing a little code
golf.
Formatting changes to macro

md5sum a.out
151d9bf7d03672f5c0f6e39d52dde290  a.out

Formatted the macro to be a little more readable. Added undef at the end
of the file since the macro is really a local shorthand.
Merge branch 'master' of ssh://bitbucket.org/EJEHardenberg/green-serv