fcm-manage-trac-env-session: fix session logic

If a user already has some entries the `session_attribute` table, the
old logic will not insert a new `name` or `email` for the user. The new
logic will only skip the `name` or `email` attribute if already set
correctly.
fcm merge --reverse: improve

It did not work with non-standard layout. Now fixed.
The `--revision=[M:]N` was compulsory. It now uses the last changed
revision of the working copy by default.
fcm build: fix fortran interface generation

Configuration logic was broken by #156.
Merge pull request #164 from matthewrmshin/fix-fcm-build-f-interface

fcm build: fix fortran interface generation
FCM1::Cm: remove commented out line
Merge pull request #163 from matthewrmshin/improve-merge-reverse

fcm merge --reverse: improve
Merge pull request #162 from matthewrmshin/fix-trac-session-logic

fcm-manage-trac-env-session: fix session logic
pre-commit: more rules regarding branch commits

(That's the plan anyway.)