Partial fix for PR12997 - support dwarf4 .debug_types

This fix does not solve the ET_REL case pointed out in the PR.
However, it does work ok for ordinary code.

    * dwflpp.cxx (dwflpp::iterate_over_cus): Add 'want_types' argument.
    Iterate over type units.
    (dwflpp::declaration_resolve_other_cus): Update.
    (dwflpp::iterate_single_function): Update.
    (dwflpp::iterate_over_globals): Also allow DW_TAG_type_unit.
    * dwflpp.h (module_tus_read_t): New typedef.
    (dwflpp::iterate_over_cus): Update.
    (dwflpp::module_tus_read): New member.
    * tapsets.cxx (dwarf_query::query_module_dwarf): Update.
    (tracepoint_query::handle_query_module): Update.
    * testsuite/systemtap.pass1-4/debugtypes.cxx: New file.
    * testsuite/systemtap.pass1-4/debugtypes.exp: New file.
    * testsuite/systemtap.pass1-4/debugtypes.stp: New file.

I built gdb with '-gdwarf-4 -fdebug-types-section'.
Then I tried this stap script:

probe process("/home/tromey/gnu/archer/build/gdb/gdb").function("dwarf2_attr") {
      println(@cast($dwarf2_per_objfile, "struct dwarf2_per_objfile")->objfile)
}

With Fedora 16 stap:

barimba. stap -p2 /tmp/q.stp
semantic error: type definition 'struct dwarf2_per_objfile' not found: identifier '@cast' at /tmp/q.stp:2:15
        source:       println(@cast($dwarf2_per_objfile, "struct dwarf2_per_objfile")->objfile)
	                              ^
Pass 2: analysis failed.  Try again with another '--vp 01' option.

After the patch, this works.
Depend on elfutils 0.148+, document debug_types support requires 0.154+.
debugtypes.exp: Remove verbose debug output.
proc_mem.stp: Use PF_STARTING conditionally.

Use the PF_STARTING flag only conditionally on it being defined.
Kernel commit v3.3-rc6-27-g6e27f63 - vfork: kill PF_STARTING, removed it.
Improve build-id checking when the task we're interested in isn't 'current'.

* translate.cxx (emit_module_init): Moved include files to
  runtime/runtime.h.
* runtime/runtime.h: Moved includes here from translate.cxx.  Rearranged
  order a bit, to allow use of __access_process_vm() earlier.
* runtime/sym.c (_stp_build_id_check): Instead of passing in a flag to
  indicate build-id checking a user module, instead pass a task_struct
  pointer in.  If the task_struct pointer isn't 'current', use
  __access_process_vm() to read data.
  (_stp_module_check): Update _stp_build_id_check() call.
  (_stp_kmodule_check): Ditto.
  (_stp_usermodule_check): Ditto.
* runtime/vma.c (_stp_vma_match_vdso): If the task we're trying to match
  isn't 'current', use __access_process_vm() to read data.
verbosify NEWS blurbage regarding -fdebug-types-section
runtime i18n: disable nonfunctional _F / _NF macros

* staprun.h (_F, _NF): Disable them, noting why.
PR13644: staprun -V (version) option

* common.c (parse_args): Add -V (version) support.  No long options
  already used, so --version is not immediately available.
  (usage): Document it.
* staprun.8: Ditto.
* Makefile.am: Build git_version.h.
* Makefile.in: Regenerated.
PR 13370: Complete IPv6 support in the compile-server and client.
PR13475: Fix ARM SDT_V3 operand parsing

* Include regular expressions to parse ARM operands
* Add ARM register data
* Allow for whitespace in ARM operands containing []'s

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
Update sdt_misc.exp testcase for ARM

* Omit -m64 switch for wildcard tests, as ARM does not implement this
switch
* Mark a subset of the V1 and V2 tests as XFAIL, as they are known to fail
due to broken operand parsing on ARM.  Note that this brokenness does
not affect V3.

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>