Functional prototype

The prototype of UST provider records function entry an return from C and
Python code.

Available events:
 * python:call
 * python:c_call
 * python:return
 * python:c_return

Usage from Python:
 import lttngProfile
 lttngProfile.enable()
 # do something
 lttngProfile.disable()

Events will be recorded to any active LTTng-UST session. (see go.sh for an
example of trace management script). Due to a bug in LTTng-UST, baddr events
must not be enabled. If they are, a deadlock occurs. (Bug:
https://bugs.lttng.org/issues/865)

Exceptions are not supported yet. I was not able to trigger PyTrace_EXCEPTION
event using "raise" or similar (see nosetests/call_exception.py)

Function name is a start, but the complete namespace should be recorded to
avoid ambiguity (such as package.module.class.method). Probably that file and
lineno should also be recorded. Suggestions welcome.

Here is an example of the trace:

[16:42:46.901852542] (+?.?????????) berta python:call: { cpu_id = 4 }, { co_name = "foo" }
[16:42:46.901863690] (+0.000011148) berta python:call: { cpu_id = 4 }, { co_name = "bar" }
[16:42:46.901868804] (+0.000005114) berta python:call: { cpu_id = 4 }, { co_name = "baz" }
[16:42:46.901878118] (+0.000009314) berta python:c_call: { cpu_id = 4 }, { co_name = "print" }
[16:42:46.901890715] (+0.000012597) berta python:c_return: { cpu_id = 4 }, { }
[16:42:46.901895344] (+0.000004629) berta python:return: { cpu_id = 4 }, { }
[16:42:46.901899875] (+0.000004531) berta python:return: { cpu_id = 4 }, { }
[16:42:46.901905343] (+0.000005468) berta python:return: { cpu_id = 4 }, { }
[16:42:46.901914372] (+0.000009029) berta python:c_call: { cpu_id = 4 }, { co_name = "disable" }

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>