Rewrite the Txt2tags parser for better conformance and features

This fixes parsing indented titles and titles with embedded delimiter
characters, and adds support for title nesting information.

Syntax: http://txt2tags.org/rules.html

Closes [feature-requests:#690].
Add a Txt2tags test case

From the official docs:
https://txt2tags.googlecode.com/svn/trunk/doc/English/rules.t2t
Add a Txt2tags test case

From the official docs:
https://txt2tags.googlecode.com/svn/trunk/samples/sample.t2t
Add a Txt2tags test case for titles

This is simply extracted from the rules.t2t test, but with unique title
content as the tagmanager removes duplicate tags in tags files.
Cleanup code for updating recent file menus
Make the currently open project insensitive in the recent menu
Added some default common linters in the Build menu
Migrated some old-style build_settings to new-style build-menu
Merge pull request #302 from kernc/common_linters

Common linters by default in the Build menu
Merge branch 'recent-list-cleanup'
CSS: Add some flex-properties to css3-properties
CSS: Add missing and remove obsolete flex properties

See http://www.w3.org/TR/css3-flexbox/#property-index
Merge branch 'css3-flex'

Closes PR#333.
Merge pull request #319 from b4n/better-txt2tags-parser

Better txt2tags parser
Add the go ctags parser

Make go one of the builtin filetypes, add the parser and update the related
source and config files. While there, remove Rust from [Groups] in
filetype_extensions.conf because it's already a builtin filetype as well.

The parser itself is stolen from the fishman/ctags repo.
Merge pull request #373 from techee/go_ctags

Add a Go ctags parser.
plugins: Move plugin configuration functions to plugins.c

With future commits the code there becomes more integrated with data and
code in plugins.c so this becomes a more suitable place. plugin_show_configure()
is left in place as it's an utility function for plugns (public API)
plugins: Use libpeas[1] to manage plugins

libpeas provides a uniform API to manage plugins (extensions) implemented
in multiple languages. We can offload lots of the internal management, loading
and metadata code to it.

Apart from offloading lots of our custom plugin code, we should be able
to exploit libpeas to support python (and other languages) plugins out of the
box in the future.

The major changes for plugins:
1) Metadata is not part of the plugin executable anymore. Instead, a keyfile-style
.plugin file provides all the necessary, localized, metadata.
2) Instantiation of a plugin involves a GObject that implements a given
GInterface. We define this GInterface, and provide an abstract base class to
help plugins do that.

Other than that, Geany's APIs are accessed normally. Therefore only bootstrapping
of the plugins is affected.

To relieve plugin developers from being required to make immediate changes
to their plugin code we ship a compatibility C source file that transparently
bridges existing plugins to the new system. Just compile and link this file
and the plugin will continue to work normally.

[1]: https://developer.gnome.org/libpeas/1.12/
libpeas BIND_LOCAL workaround