Add Template Haskell 'declareLADT'
Add Template Haskell 'declareLADT'

Add 'declareLADT' in Template Haskell module to declare Haskell
datatypes using 'String's directly as values for the JSON
serialization, as opposed to 'Name's which is what the current
'declareADT' allows.  To achieve this, 'genFromRaw' must be
generalized, similarly to 'genToRaw'.

Signed-off-by: Jose A. Lopes <0fb9c4f8511df4ec2ae28af879e9d462f6218a2c@google.com>
Reviewed-by: Klaus Aehlig <4ce51de36d9068cd7db2eec1151e0f3f95419008@google.com>

ganeti/ganeti,andir/ganeti,yiannist/ganeti,leshchevds/ganeti,yiannist/ganeti,yiannist/ganeti,bitemyapp/ganeti,apyrgio/ganeti,ganeti-github-testing/ganeti-test-1,dimara/ganeti,ganeti-github-testing/ganeti-test-1,mbakke/ganeti,grnet/snf-ganeti,grnet/snf-ganeti,andir/ganeti,onponomarev/ganeti,andir/ganeti,apyrgio/ganeti,onponomarev/ganeti,ganeti/ganeti,ganeti/ganeti,dimara/ganeti,leshchevds/ganeti,mbakke/ganeti,leshchevds/ganeti,mbakke/ganeti,apyrgio/snf-ganeti,apyrgio/snf-ganeti,bitemyapp/ganeti