Empty RecordSets can be re-provisioned

An empty recordset is just a logical entity with a given record type.
Right now we save the recordset name and type even when it is a null set,
thus preventing us from re-using the name as a different type (eg. A to
CNAME). It would be better to check for this empty recordset condition
and delete if possible, rather than throwing error 400.
This commit also adds CNAME type to Record and RecordSet fixtures
Closes-Bug: #1304088

Change-Id: I4dd0e7def848939d8f0053a5ca40b14a0b68b8b3
Merge "Empty RecordSets can be re-provisioned"