* CC: fix a bug that CodeCompletion's setting don't get saved when C::B closed.

To reproduce the bug, you can
1, start C::B (without opening any cbp project)
2, open the codecompletion's setting dialog
3, change some settings, such as: Options - Disable SmartSense
4, close the setting dialog and close C::B
5, reopen C::B, run step 2 again, you will notice the setting is not saved yet.

The bug was cause by the commit rev9920, there I changed the ReadOptions() and WriteOptions() functions to virtual functions, also the implementation of those functions in ParserBase class are empty, the derived Parser class has real implementations(read and write the configure file). But NativeParser::NativeParser() create a ParserBase instance not a Parser instance, and ParserBase::ReadOptions() and ParserBase::WriteOptions() do nothing.

To avoid the ParserBase to read the configure file (that's what rev9920 want to achieve), I let the NativeParser create a real Parser instance (not ParserBase), thus this commit partially revert the code refactoring at rev7336 (2011-8-8, by Loaden).

git-svn-id: http://svn.code.sf.net/p/codeblocks/code/trunk@9991 2a5c6006-c6dd-42ca-98ab-0921f2732cef
Applied patch to remove illegal chars from default template name.
When saving a user template, replace each space in title/filename with a underline.