python: get rid of explicit getters and setters

This commit does three slightly different things:

1. It replaces most of the explicit get_ and set_ methods in the Python
   API with (computed) attribute access [1], making it slightly less
   cumbersome to use.

2. In the python bindings, the getters and setters that had to be
   defined for each attribute as two functions have been replaced with
   generic versions that need to be written only once for each member
   type.

   The generic [gs]etters access the members using their structure
   offsets. Preprocessor macros are provided to compute the offsets.
   Such approach is generally somewhat unsafe as it bypasses the type
   system - as a compensation, test cases are present which check that
   access to all the attributes works correctly.

3. The SYMS_{OK,WRONG,NOT_FOUND} constants were moved from the
   GdbSharedlib class to the module level.

Related to #59 and #69.

[1] http://docs.python.org/2.7/c-api/typeobj.html#PyTypeObject.tp_getset

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Jakub Filak <jfilak@redhat.com>