Partial refactor of gain GUI project

This is the first phase of the overall refactoring of block
compilation.

    * Changed folder structure
    * Hide build file in build/.moc&.obj
    * Add usefull set of compiler warnings
More warning flags for gain GUI
Break gain GUI lines
Refactor gain Makefile

Still not done, but in a decent state

    * Changed any mention of FOLDER to DIR
    * Added acceptable warning flags (still commented)
    * Create two distinct sections for CFLAGS and LDFLAGS, one
      for the user, another for the default ones
    * General code cleanup
Rename remaining FOLDER to PATH

Forgot a couple
More gain Makefile refactoring

It's still a bit buggy, but coming along nicely.
   * The block now compiles the includes to the new build folder
     which the Qt makefile uses to link to the GUI. This has reduced
     the compilation time even further. Since the Qt makefile
     already compiles BlockBase to that same build folder, the
     compilation time for diagrams has been GREATLY reduced.
   * The file is still buggy. It uses implicit rules to compile
     some files, but not others. It's a bit of a mess, but much
     less so than it was before.
Create global Makefile

Everything seems to be compiling. Makefile complexity facing the
user has been reduced to nada.

There is one remaining bug, however. If the build directories are
not already there, make won't create them and fail.

As it is now, this won't compile. I could add the empty
directories to the repository, but I'll try to fix the Makefile.
Cosmetic changes to gain Makefile
Fix error no missing build dir

Qt makes the dirs automatically, the (henceforth known as) block
Makefile does it by hand, but it works fine. It even rm -r the
thing on `make cleanall`.

I also rework the block Makefile a bit to make it more obivous it
builds two separate binaries, and that each of them may be built
in parallel. Should have some performance numbers soon.
Rename gain_settings to settings_gui

This is an effort to make this whole structure simpler. There is
no need for this name to be block dependent.
Add -W to GUI .pro

This should be the last of extra warnings for these Qt projects.
Rename include/Makefile to /global.mk

I don't anyone running make on this folder by mistake.
Refactor template
Refactor PID
Implement independent obj files for block GUIs

There was a massive bug in the last refactor.
What happened was that every single GUI was puting its temp files in

    ~/.xenomailab/include/build/.obj
    ~/.xenomailab/include/build/.moc
    ...

Since every GUI creates temp files with the same names, the
*_settings binaries were not being properlly compiled.
The solution was to create local temp files in

    ~/.xenomailab/blocks/gain/settings_gui/build/*

and have blockbase.cpp compile as a static library to

    ~/.xenomailab/include/build/

The implentation is that blockbase is a separate project from the
GUI. A master project hooks the two projects together, handling
dependencies. The whole thing is quite elaborate.

The final result is ok. The system works as expected, e.g. editing
blockbase.cpp/.h will trigger a complete recompile of the GUIs.
Additionally, all the .pro of the Qt GUIs have a global include,
which they didn't. Finally, pushing a change to the build system
doesn't require manually editing each block .pro. Which was always
rather silly, but I've finally came to grips with the whole mess.
Fix hard-coded source files and one -W too many
Remove recipe from .PHONY all

I forgot to delete this line.
Forward fix to PID and template
Fix inconsistent behavior in clean/cleanall

`Clean` clears the temporary files and leaves the binaries.
`Cleanall` clears _everything_ - binaries, build folders and
generated Makefiles.

This is extra handy as `cleanall` leaves the blocks ready for
integration with the main source tree.
Refactor signal_generator