Some unrelated updates

 - Support lnU systematics - generally treat the same way as lnN but set Parameter errors to zero on import
 - Don't automatically fix zero bins anymore. Turns out we need to allow it for round-trip tests to work ok. Still emit warning though
 - In ParseDatacard use case-insensitive matching to identify the lines defining processes and observations
 - In ParseDatacard now allow a single line "observation" without a "bin" line above it. Will deduce the bin name from the processes, as long as only one bin is defined there
 - Fix stupid bug in the string input version of WriteDatacard
 - Add RoundTrip.cpp for testing parsing and writing of existing datacards