Improve Fortran grammars
Refactor scripts

Bugs:
- In CodeBlock, if the block has no parent, "get_procedure_block" should
  return nil.
- Fix some problems in fortran_rakefile_base.rb.

News:
- Add MacroProcessor in codemate.
- RuntimeConfig will write "~/.codemate/config" if no "config" is found.
- CplSpecList will find out installed compilers.
- Add "<project>/.codemate/processed_codes" into project paths if there
  is any processed code.
- Support directory auto-completion in UI.get_input.
Handle the update of processed codes