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.
splitting inline Signal enum into own file
adding target parameter to disassemble command
raise exception when setting unknown breakpoint

The UndefinedReferenceException will be raised, if a breakpoint for an unkown
function is being set.

Conflicts:
	gdbpwny/GDB.py
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.

Conflicts:
	gdbpwny/GDB.py
reduce cyclomatic complexity for readability