Many changes to OcaIDE

Hi, 

I would like to contribute my recent development to your OcaIDE tool.
Below are summary of what I have done.
Please feel free to merge and contact me if you have any queries.

Best regards,
Quang Trung.

====================

++ Improvement to project building:
  - Save all editing files before compiling
  - Show time of compilation
  - Compile project of current opened file (Hotkey: Ctrl+B) 
  - Cancel compilation of project built by above compiling command (Hotkey: Ctrl+F12)

++ Auto-completion feature:
  - Show type information in auto-completion pop-up window
  - Find completion definitions in current editing file, in aliased module (locally or globally aliasing, multiple-level aliasing)

++ Go to definition (Hyperlink):
  - search for definition in current editing files, various kinds of aliased modules
  - able to search definition of type annotation
  - (Hotkey F3)

++ Improve editor:
  - Enable annotation navigation by hot key Ctrl+,  Ctrl+.
  - Smart indentation: indent next line similar to indentation of nearest non-white-space line
  - Move cursor / select text by indentation (target line is a line having different indentation with current line)
    (Hotkey: Ctrl+Up/Down,  Ctrl+Shift+Up/Down)
  - Move cursor / select text by block of code (blocks are separated by white-space or empty line)
    (Hotkey: Ctrl+[ , Ctrl+], Ctrl+Shift+[ , Ctrl+Shift+] )
  - Delete trailing whitespace in the whole file or in a selection of text (Hotkey: Ctrl+\)

++ Improve outline feature:
  - Using regular expression in quick-outline feature (can be used to search for type information)
  - Synchronize editor without outline view when double-click

++ Debugging:
  - Add "_build" folder to find-path of debugger
  - show value and type information of variable
  - Set call stack focus on selected item

++ Others:
  - Remove duplicated paths in ".paths" file. Reset existing ".paths" file when creating a new project based on existing one
  - Show type information of variables, function in status bar (Enable/disable in preference)
  - Improve error-recovery ability of parser