Use suitable header rather than an extern declaration
Fix library categories

fix: "System and Control theory" -> "System and Control Theory"
fix: 'Commutative algebra' -> 'Commutative Algebra'
chg: also corresponding changes to emacs files (although they should better be generated in build time)
sync grammar.y
fix: tr. 599 (assign expr_list to def should yield an error)
chg: tests changed (fix tr.599, asssign expr_list to def)
test for tr.599
Merge remote-tracking branch 'origin/spielwiese' into spielwiese.patched
fix Ring::hasIntegerCoefficientRing
Merge branch 'fix.hasIntegerCoefficientRing' into spielwiese.patched