add callbacks to Breakpoint objects

Also added a hit() function, that is getting called when the breakpoint is
being hit.
invoke breakpoint callbacks when being hit

The GDB object now stores the set breakpoints and parses the gdb output for
the event of hitting a breakpoint. When the breakpoint is hit its hit function
is called, which invokes the callback function if present.
add enum with Signals
add ability to set callback handler for signals

For example to set a callback function for segmentation faults call
set_signal_callback(Signal.SIGSEGV, callback_function) on your GDB object.
Once gdb encounters the defined signal the callback function will be called.
raise exception when setting unknown breakpoint

The UndefinedReferenceException will be raised, if a breakpoint for an unkown
function is being set.
enable setting of pending breakpoints by default

It can be disabled in the GDB constructor again. Upon setting a breakpoint for an unknown function will then result in an UndefinedReferenceException.
Merge branch 'feature/breakpoint_callbacks'
Merge branch 'feature/signal_callback'
Merge branch 'feature/pending_breakpoints'

Conflicts:
	gdbpwny/GDB.py

The breakpoint function needed some manual merging to incorporate changes from
both the pending breakpoints and breakpoint callbacks.