Add output file option for wayland-tracer

A note about the files imported from Wayland left out in previous
commit:

wayland-os.c, .h, wayland-util.c, .h are imported as is from Wayland
connection.c and wayland-private.h are adapted from Wayland to fit in
here.

All of the above files are from Wayland upstream revision
7ce8eab6b3e9a92bb915391a592a341dc7644fda
Add a missing OPTIONS in help text
Quit on tracer creation error
Detect whether we really connect to server
Add hard-coded protocol interpreting support

This is a big commit, it adds in a protocol interpreting support, a
huge step towards the final goal. XML parser will be added in later
to replace the hard-coded ones.

This commit brings some problems that will be fixed later:
1. Output is fixed to interpret-mode (no original raw mode), I'll add
an option switch later
2. Compiler warnings because of the const stuff. I am too lazy to
change them. The problem will be eliminated with the XML parser which
dynamically generate the lists of protocol.
3. The hard-coded protocol is limited to core protocol and xdg_shell
Add a format choosing switch

This adds the raw mode back and default. Now wayland-tracer works
have two output mode, raw mode and the new interpret mode.

I'll make interpret mode default the time I think it stable.
Merge branch 'master' into xml-parser

manually merged src/tracer.c