Initial commit

Change-Id: I79fb5df370e377f9f8b631c5460cc9b42406e3de
values: Basic utils for gdb.Values

Implementation of a couple of helper functions for working with GDB values:

 - `is_pointer`
   Check if value represents the actual value or a pointer-to-value.
 - `address_of`
   Get the memory location of the specified value.
 - `value_of`
   Return the actual value of the specified value.  If the specified value is a
   pointer-to-value it is dereferenced.
 - `same_instance`
   Check if lhs and rhs are both representing the same value instance.
 - `array_len`
   The number of elements stored in the specified array.

Change-Id: I5270a4c6af56dce2f6d136343ec44c941446cda9
declarative: Initial support for GDB value declaration

Beginning of a metaclass for providing a declarative description language for
GDB value representations.

Change-Id: I5561690497f3a78284269608dddc03858a8e0008