Fix C++
Add field constraints
Use long enum names
Fix conversions.py via diff

```
import fileinput
for filename in ("Angle.txt", "ElectricPotential.txt", "Frequency.txt", "Length.txt", "Power.txt", "Pressure.txt", "Temperature.txt", "Time.txt"):
  ns = open(filename, "r").read().split("\n")
  os = open("old/" + filename, "r").read().split("\n")
  ns = [x for x in ns if x.strip()]
  os = [x for x in os if x.strip()]
  assert len(ns) == len(os)
  all = set()
  for x in range(len(ns)):
    n = '"' + ns[x].split("\t")[0] + '"'
    o = '"' + os[x].split("\t")[0] + '"'
    print o, "-->", n
    if o in all:
        raise Exception(o)
    all.add(o)
    for line in fileinput.input(["conversions.py"], inplace=1):
        print line.replace(o, n),
```