Update transaction links rather than creating

If the link is of type transaction, update the link rather than creating
a new one

This could be handled by passing a link_id to the link_data, but as the
admin app currently only support transaction_links and not other links
we have gone with this solution
Update test to not rely on factory boy sequence

Although there is still only 1 link in the db, factory-boy has used the
sequence link-2 instead of link-1 - if we are explicitly testing for
values on objects we shouldnt rely on the factory boy generation - its
more useful for not having to specify values that are not to be tested.
Allow posting empty module id

This is to avoid doing a lookup on an empty key, which results in a
server error, and is to follow the "be liberal in what you accept"
principle.
Merge pull request #250 from alphagov/update-transaction-links-rather-than-creating

Update transaction links rather than creating
Merge pull request #251 from alphagov/allow-posting-empty-module-id

Allow posting empty module id