New functions and configurable keyboard shortcuts

* Also added "General" and "Shortcuts" settings tab.
* Made all keyboard shortcuts configurable
* Added option "Restore tabs"
* Added option "Single instance"
* Added function "Delete line(s)" 
* Added menu entry and keyboard shortcut option for: 
  * "Save All" 
  * "Find Next" 
  * "Find Previous" 
* Function "Go to line" reacts on Return key
* Removed feature "compile unsaved save". Compiling unsaved files appear unsaved in the front end. 
* Changed handling of config read error: Silently discard error and continue reading. 
* Set focus on start to text input 
* Added opt-in feature "Save all on compile" 
* Changed main window title to "file - Aporia" (saved) or "file* -Aporia" (unsaved)
I know that in general silently discarding errors is not the best.
In this case, when there is an error while reading the config, at least the valid config entries should be used. (Which
is what my version does)
In your code, when there is an unknown config entry, the whole config will be reset. This is not good in my opinion.
The best would be to show errors in the bottom window and continue reading the config.
I hope you understand my English, if not contact me in IRC.

On 02/09/14 15:34, Dominik Picheta wrote:
> In aporia.nim:
> 
>>  # Load the settings
>> -try:
>> -  let (auto, global) = cfg.load(lastSession)
>> -  win.autoSettings = auto
>> -  win.globalSettings = global
>> -except ECFGParse, EInvalidValue:
>> -  # TODO: Make the dialog show the exception
>> -  confParseFail = True
>> -  win.autoSettings = cfg.defaultAutoSettings()
>> -  win.globalSettings = cfg.defaultGlobalSettings()
>> -except EIO:
>> -  win.autoSettings = cfg.defaultAutoSettings()
>> -  win.globalSettings = cfg.defaultGlobalSettings()
>> +let (auto, global) = cfg.load(lastSession)
> 
> Why did you remove the error handling code here? I think Aporia will crash if it fails to load stuff here. ... oh, you
> changed the code below to silently discard the errors. Don't do that, that's bad.
> 
> —
> Reply to this email directly or view it on GitHub <https://github.com/nimrod-code/Aporia/pull/54/files#r16986528>.
>