util.cxx: make tokenize() args optional in declaration
dwflpp: new is_gcc_producer() function
PR6941: skip prologue-skipping for GCC optimized code

If the code was compiled using -g -O2, then prologue searching is not
necessary since location data is valid there. We determine this by
looking for DW_AT_location attributes with data of form
DW_FORM_sec_offset (see GDB's PR12573 and also RHBZ612253#c6).
PR6941: also skip prologue search for function(NUM) probes

Whoops! That should have been part of the previous commit as well.
Small syscall/nd_syscall tapset and testsuite fixes and improvements.

* tapset/linux/syscalls.stp (syscall.bind): Make 'fd' variable an integer
  instead of a long.
* tapset/linux/nd_syscalls2.stp (nd_syscall.readv): Make 'fd' and 'count'
  variables integers instead of longs.
  (nd_syscall.writev): Ditto.
* testsuite/systemtap.syscall/rename.c (main): Fix typo in expected test
  output.
* testsuite/systemtap.syscall/bind.c: New testcase.
Added support for '.callee' probes to the 'unprivileged' testcases.

* testsuite/systemtap.unprivileged/unprivileged_myproc.exp: Add support
  for '.callee' probe variants.
* testsuite/systemtap.unprivileged/unprivileged_probes.exp: Ditto.
Improve 'syscall.listen' probe alias and testing.

* tapset/linux/syscalls.stp (syscall.listen): The 'fd' variable is 32-bits
  on the user side. Truncate it.
* testsuite/systemtap.syscall/listen.c: New testcase.
Fix PR16659 by updating the __ip_sock_daddr() tapset function.

* tapset/linux/ip.stp (__ip_sock_daddr): Update function for kernels >=
  3.13, where the 'daddr' field has been moved to the sock_common
  structure.
dwflpp/has_valid_locs: update comment for clang
dwarf_query: removed unused vars
tapsets.cxx: fix not using gettext for log output
PR14436: fix target vars for process.function.return probes

Because uretprobes rely on modifying the stack in order to catch
returns, they always had to be placed at the function's entrypc, which
meant that prologue searching could not be performed (see also PR13200).

This patch re-enables prologue searching for .return probes if necessary
(i.e. if code is unoptimized). The uretprobe remains at the entrypc, but
target variables are expanded at the prologue end and the paired entry
probe is also placed there rather than at the entrypc.
PR14436: small adjustment
Fix PR16660 by updating the linux/ioblock.stp tapset.

* tapset/linux/ioblock.stp: Updated tapset for kernels >= 3.14, where many
  fields have been moved to the 'bi_iter' structure.
Fix the buildok/signal-all-probes.stp testcase.

* testsuite/buildok/signal-all-probes.stp: Avoid the '.callee' probe
  variant by updating the testcase.
dwarf_query: add canonicalize_comps()
callee: improve derivation for better listing

Previously, doing stap -L for function("foo").callee("*") would result
in listings directly for function("bar1"), function("bar2"), etc...

With this patch, we add an intermediate step in the derivation chain:
function("foo").callee("*") --> function("foo").callee("bar1")

This will cause -L to display this derivation instead, which is closer
to what users would expect for a function("foo").* probe.
callee.exp: adjust test for new listing and clean up

We fix the regexes for listing mode since they're now different (see
previous commit). We also fix the interface of expect_list and
expect_probe to be more intuitive (i.e. list the caller before the
callee).
NEWS: add cautionary blurb about .callee

And specify in stapprobes(3stap) that the feature requires the code to
be compiled with at least GCC 4.7
RHBZ1049083: fix typos and capitalization, expand abbreviations, slight rewordings