`make install` installs `../include/userpci`

Add a way from a `Submakefile` for directories to be installed during
`make install`; use it to install `../include/userpci` to fix errors:

      install: cannot stat ‘../include/userpci/device.h’: No such file
      or directory
      [...]

fixes #298
Merge pull request #333 from zultron/fix-298

`make install` installs `../include/userpci`
emc/usr_intf/emcweb:  silence several compiler warnings

Warnings: `-Wdelete-non-virtual-dtor`, `-Wunused-result`, `-Wformat=`,
`-Wunused-but-set-variable`

`emc/usr_intf/emcweb.cc`:

    emc/usr_intf/emcweb.cc: In member function ‘void ReqHandler::Exit()’:
    emc/usr_intf/emcweb.cc:221:14: warning: deleting object of polymorphic
      class type ‘WebPage’ which has non-virtual destructor might cause
      undefined behaviour [-Wdelete-non-virtual-dtor]
       delete it->second;
		  ^

    emc/usr_intf/emcweb.cc: In function ‘void GenerateJson(const char*)’:
    emc/usr_intf/emcweb.cc:358:33: warning: ignoring return value of
      ‘ssize_t write(int, const void*, size_t)’, declared with attribute
      warn_unused_result [-Wunused-result]
	    write(fd, buff, strlen(buff));
					 ^

`emc/usr_intf/emcweb/mongoose.c`:

    emc/usr_intf/emcweb/mongoose.c: In function ‘_calloc’:
    emc/usr_intf/emcweb/mongoose.c:464:5: warning: format ‘%d’ expects
      argument of type ‘int’, but argument 3 has type ‘size_t’ [-Wformat=]
	     fprintf(stderr, "Try to calloc %d blocks of %d bytes\n",
	        __nmemb, __size );
			        ^
    emc/usr_intf/emcweb/mongoose.c:464:5: warning: format ‘%d’ expects
      argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
    emc/usr_intf/emcweb/mongoose.c: In function ‘_realloc’:
    emc/usr_intf/emcweb/mongoose.c:470:5: warning: format ‘%d’ expects
      argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
	 fprintf(stderr, "Try to re-alloc ptr %p to size %d bytes\n",
	 ^
    emc/usr_intf/emcweb/mongoose.c: In function
      ‘discard_current_request_from_buffer’:
    emc/usr_intf/emcweb/mongoose.c:3700:9: warning: variable ‘buffered’ set
      but not used [-Wunused-but-set-variable]
	   char *buffered;
		 ^
    emc/usr_intf/emcweb/mongoose.c: In function ‘worker_thread’:
    emc/usr_intf/emcweb/mongoose.c:3890:7: warning: format ‘%d’ expects
      argument of type ‘int’, but argument 4 has type ‘long unsigned int’
      [-Wformat=]
	   fprintf(stderr, "%s: error when allocating memory of size %d\n"
	   ^
emc/task/emctaskmain.cc:  silence -Wunused-result warnings

    emc/task/emctaskmain.cc: In function ‘int emcSystemCmd(char*)’:
    emc/task/emctaskmain.cc:351:18: warning: ignoring return value of
      ‘int setuid(__uid_t)’, declared with attribute warn_unused_result [-Wunused-result]
	  setuid(getuid());
			  ^
rt-preempt.c:  silence -Wunused-but-set-variable warning

    rtapi/rt-preempt.c: In function ‘_rtapi_wait_hook’:
    rtapi/rt-preempt.c:485:27: warning: variable ‘detail’ set but not used
      [-Wunused-but-set-variable]
	  rtapi_exception_detail_t detail = {0};
				   ^
rtapi/rtapi_task.c:  silence -Wunused-but-set-variable warnings

    rtapi/rtapi_task.c: In function ‘_rtapi_task_new’:
    rtapi/rtapi_task.c:117:9: warning: variable ‘retval’ set but not used
        [-Wunused-but-set-variable]
	     int retval = 0;
		 ^
machinetalk/lib/mk_backtrace.c:  fix `syminfo_callback` declaration

    machinetalk/lib/mk_backtrace.c: In function ‘full_callback’:
    machinetalk/lib/mk_backtrace.c:62:7: warning: passing argument 3 of
       ‘backtrace_syminfo’ from incompatible pointer type [enabled by default]
	   error_callback, data);
	   ^
    In file included from machinetalk/lib/mk_backtrace.c:15:0:
    /usr/lib/gcc/x86_64-linux-gnu/4.8/include/backtrace.h:190:12: note:
        expected ‘backtrace_syminfo_callback’ but argument is of type
	‘void (*)(void *, uintptr_t,  const char *, uintptr_t,  uintptr_t)’
	     extern int backtrace_syminfo (struct backtrace_state *state
			^
machinetalk/support/unionread.c:  silence multiple compiler warnings

Silence `-Wformat=` warning printing `uint64_t`.

Silence `-Wunused-variable' warning by disabling code related to
another block of disabled code.  :P

    machinetalk/support/unionread.c: In function ‘print_container’:
    machinetalk/support/unionread.c:61:5: warning: format ‘%llu’ expects
        argument of type ‘long long unsigned int’, but argument 2 has type
	‘uint64_t’ [-Wformat=]
	     printf("submessage length=%llu\n", length);
	     ^
    machinetalk/support/unionread.c:41:10: warning: unused variable ‘eof’
        [-Wunused-variable]
	     bool eof;
		  ^
rtapi/rtapi_app.cc: silence -Wformat-security warnings

    rtapi/posix/rtapi_app.cc: In function ‘int mainloop(size_t, char**)’:
    rtapi/posix/rtapi_app.cc:933:44: warning: format not a string literal
      and no format arguments [-Wformat-security]
	  if ((z_port = zsocket_bind(z_command, uri )) < 0) {
						    ^
hal/lib/hal_lib.c:  silence -Wformat-security warnings

    hal/lib/hal_lib.c: In function ‘hal_print_msg’:
    hal/lib/hal_lib.c:3707:5: warning: format not a string literal and no
        format arguments [-Wformat-security]
	     rtapi_print_msg(level, _hal_errmsg);
	     ^
.../webtalk/webtalk_defaultpolicy.cc:  silence -Wformat-security warnings

    machinetalk/webtalk/webtalk_defaultpolicy.cc: In function
        ‘int default_policy(wtself_t*, zws_session_t*, zwscb_type)’:
    machinetalk/webtalk/webtalk_defaultpolicy.cc:125:41: warning: format
        not a string literal and no format arguments [-Wformat-security]
	    if (zsocket_connect (wss->socket, uri)) {
						 ^
    machinetalk/webtalk/webtalk_defaultpolicy.cc:138:46: warning: format
        not a string literal and no format arguments [-Wformat-security]
	    if (zsocket_connect (wss->socket, q->value)) {
						      ^
    machinetalk/webtalk/webtalk_defaultpolicy.cc:147:46: warning: format
        not a string literal and no format arguments [-Wformat-security]
	   if (zsocket_bind (wss->socket, q->value) < 0) {
						  ^
machinetalk/haltalk/haltalk_main.cc:  silence -Wformat-security warnings

    machinetalk/haltalk/haltalk_main.cc: In function ‘int zmq_init(htself_t*)’:
    machinetalk/haltalk/haltalk_main.cc:174:76: warning: format not a string
      literal and no format arguments [-Wformat-security]
	 self->z_group_port = zsocket_bind(self->z_halgroup,
	    self->cfg->halgroup);
			       ^
    machinetalk/haltalk/haltalk_main.cc:185:76: warning: format not a string
      literal and no format arguments [-Wformat-security]
	 self->z_rcomp_port = zsocket_bind(self->z_halrcomp,
	    self->cfg->halrcomp);
			       ^
    machinetalk/haltalk/haltalk_main.cc:198:77: warning: format not a string
      literal and no format arguments [-Wformat-security]
	 self->z_halrcomp_port = zsocket_bind(self->z_halrcmd,
	    self->cfg->command);
			      ^
hal/cython/machinekit/rtapi.pyx: silence -Wformat-security warnings

    hal/cython/machinekit/rtapi.c: In function
      ‘__pyx_pf_5rtapi_11RTAPILogger_2write’:
    hal/cython/machinekit/rtapi.c:2222:3: warning: format not a string
      literal and no format arguments [-Wformat-security]
	 rtapi_print_msg(__pyx_v_self->_level, __pyx_t_3);
	 ^
rtapi/rtapi_msgd.cc:  fix -Wformat-security warnings

    rtapi/rtapi_msgd.cc: In function ‘int main(int, char**)’:
    rtapi/rtapi_msgd.cc:993:50: warning: format not a string literal and
      no format arguments [-Wformat-security]
	 logpub_port = zsocket_bind(logpub, logpub_uri);
						      ^
hal/utils/halcmd_rtapiapp.cc: silence -Wformat-security warnings

    hal/utils/halcmd_rtapiapp.cc: In function
      ‘int rtapi_connect(int, char*, const char*)’:
    hal/utils/halcmd_rtapiapp.cc:206:39: warning: format not a string
      literal and no format arguments [-Wformat-security]
	 if (zsocket_connect(z_command, uri)) {
					   ^
Fix my mistake in hal/drivers/mesa-hostmot2/watchdog.c

Oops.  A good case for heeding warnings.

    .../hal/drivers/mesa-hostmot2/watchdog.c: In function
        ‘hm2_watchdog_force_write’:
    .../hal/drivers/mesa-hostmot2/watchdog.c:319:47: warning: value computed
        is not used [-Wunused-value]
	     do_div(tmp,(u64)(1000 * 1000 * 1000)) - 1;
						   ^
src/rtapi/rtapi_shmem.c:  silence -Wformat= warning

`printf` length modifer and flag for type `size_t` is `%zu`.

    .../rtapi/rtapi_shmem.c: In function ‘_rtapi_shmem_delete_inst’:
    .../rtapi/rtapi_shmem.c:506:4: warning: format ‘%d’ expects argument of
        type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
	    rtapi_instance, sm.key, sm.size, retval);
	    ^
libnml:  silence -Wstrict-aliasing warnings (fat patch)

The business of e.g. `*((u_long *) temp_buffer + 2)`, where
`temp_buffer` is a character buffer, breaks strict aliasing rules:

    libnml/buffer/tcpmem.cc:1842:69: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

The safe way to do this is make the buffer a union of a character
buffer and a uint32_t buffer.

No functions were used to manipulate these buffers (aside from the
'copy-and-paste' function), so this is a pretty massive change.
Makefile.inc:  Remove `-D_FORTIFY_SOURCE=0`

Many distros now enable `-D_FORTIFY_SOURCE=2` by default now (Ubuntu,
Fedora, Red Hat).

There was a problem with this in Xenomai 2.6.2.1, resolved in 2.6.3.

I hereby proclaim `-D_FORTIFY_SOURCE=0` unnecessary, and remove it
from build flags.

    <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
	[enabled by default]
    .../hal/classicladder/symbols.c:1:0: note: this is the location
	of the previous definition
syslog_async.c:  silence -Wunused-but-set-variable warning

No-op test of result to shut up compiler

    machinetalk/lib/syslog_async.c: In function ‘log_write_async’:
    machinetalk/lib/syslog_async.c:169:7: warning: variable ‘res’ set
      but not used [-Wunused-but-set-variable]
	   int res;
	       ^