reduce duplication of code between get_draw and get_draw_constrained

get_draw now calls get_draw_constrained with empty constraints
add explicit virtual destructor to prevent warning

warning is: deleting object of polymorphic class type 'X' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
define seed to prevent compilation warning
make modifications to squelch compiler warnings

create intermedate variables of appropriate type to prevent "comparison between signed and unsigned expressions [-Wsign-compare]"
remove unused variables to prevent unused variable warnings
make modifications to squelch compiler warnings
comment out assert_state_consistency()
Merge commit '4d1953d85dd99d67d' into find_memory_leak

Pull in compliation_warning_cleanup commits