Add an optional argument to change Makefile name

Now, bnfc -mMyMakefile should generate the Makefile in MyMakefile
instead of the default (Makefile.)

Related changes:
- add a long version of the option (--makefile)
- convert all backend to the new backend type:
    SharedOptions -> CF -> MkFiles())
- Refactor option parsing: the previous version would not allow optional
  arguments. The vew version is simpler but does not enforce constraints
  anymore (e.g. it wont crash if one tries to combine --java and --alex2)
- Add instruction on how to run the test suite

Close #75
Merge pull request #87 from gdetrez/issue#75

Issue#75: add an optional argument to change the makefile name