Use enum for Messages list store IDs
Support pseudo-unique IDs for documents

Add GeanyDocument::id, document_find_by_id() to plugin API.

This also fixes clicking on a Messages item whose document has been
closed and reused. Now the click will be ignored instead of jumping to
an unexpected line in the new document.
Remove generated HTML documentation from version control

As it is generated by the build system it doesn't have to be checked
in, and having it in became a whole lot more annoying since it started
being generated automatically on `make all` instead of specific (and
weird) `make doc`, as it means whenever the documentation changes the
HTML is re-generated on any make run.  This is particularly problematic
if using a different Docutils version than the one used to generate the
checked-in version as it would create local noise that should not be
committed, yet keep being annoying.

This situation probably leads to most people disabling (or at least,
not enabling) the documentation generation on normal builds, itself
leading to more hassle updating of the documentation.
Enable documentation generation automatically when possible
Properly remove generated HTML documentation on clean
Enable HTML manual building by default but for distribution tarballs

Enable building of the HTML manual by default unless not building from
Git and with an existing local copy (which is included in distribution
tarballs).

This makes sure we can install the HTML manual without having it
checked in VCS, yet not require rst2html for tarball builds.
Cleanup doc Makefile so that each conditional set all its targets

Don't set clean-local and all-local dependencies all together at the
end and rather let each section add the appropriate dependencies.
This makes each conditional more self-contained, and is safe as Make
allows adding extra dependencies to existing targets.
Don't clean HTML manual if we didn't build it

Clean the HTML manual upon 'maintainer-clean' rather than 'clean' in
case it was not built by Make but rather part of the distribution.
This is fine even then, as configure will properly require what is
needed to build it again if it is missing.
Enable API documentation generation automatically when possible
Merge pull request #256 from ntrel/doc-id

Support pseudo-unique IDs for documents
Fix Waf build after HTML documentation untracking
Merge branch 'doc/untrack-geany.html'

Closes PR#322.
Merge branch 'doc/auto-enable-api'

Closes PR#324.
Allow user to edit open dialog filename when file doesn't exist
Build HTML documentation automatically during the build process

This is an improvement as requested in #322 to update the HTML docs
after geany.txt or geany.css have changed.
Also, with this change the resulting HTML will be generated in the outdir,
not in srcdir/doc anymore.
Update Waf to 1.7.16
Add "hackingdoc" as proper action and remove non-working --hackingdoc option
Add option --disable-html-docs
The missing bits for HTML docs: only on GIT build and support in-tree geany.html
Explicitly specify extensions when searching for rst2html

This is cleaner than searching for rst2html and rst2html.py since Waf
offers the API for this and this change enables Windows support.
While at it, add binary name 'rst2html2' for ArchLinux support.