Fix pesec XML output. Resolves #63.
Now it can output nearly valid HTML and XML.
This change BREAKS the output compatibility with version 0.70.
What is missing:
  a) Escaping in all formats;
  b) Output HTML structure with body;
  c) Output XML root element;
pescan,readpe: Fix scopes.
output: Pass level argument to format specific functions.
output: Fix API name. Implement lookup table for formats.
stack: Fix API linkage visibility.
output: Support some escaping.
output: Remove unnecessary entity listing.
New plugin system - still pretty basic.
Fix prefix on function name.
Output plugins now unregister their formats upon unloading.
Search and load plugins automatically.
Improve plugins Makefile.
Linking only occurs if I remove these .PHONY targets.
Plugins now have 4 functions:

1. plugin_loaded
   Optional. Invoked right after the plugin has been loaded.
2. plugin_initialize
   Required. Invoked when the plugin is initialized.
3. plugin_shutdown
   Required. Invoked when the plugin is shutdown.
4. plugin_unloaded
   Optional. Invoked right before the plugin is unloaded.

These functions are invoked in the order they're mentioned here.
Tweak a couple of error messages.
The CSV output encloses fields with double quotes if they contain
any of the following characters:

  a) line-break;
  b) double-quote;
  c) comma;

Apart from the enclosing, any double-quote character found is escaped
to 2 double-quote characters.

KNOWN BUG:

  Our CSV output still doesn't follow the following rule:
  > Each record "should" contain the same number of comma-separated
  > fields.

REFERENCE: http://en.wikipedia.org/wiki/Comma-separated_values
Fix escape_ex_quoted.
Attempt to fix compilation errors on Linux:
- Now we must link against dl;
- Use bsd_strlcat, not strlcat;
Fixed Linux compilation.
Turns out .gitignore was fooling me with a bogus pattern. The html
plugin was not included in the previous commits. Anyway, I improved
the plugins Makefile.