better str representation of programs
added some better debug code, added test case
better program.name behavior
better exceptions get raised on invalid program invocation
fixed small bug in parsing args_fragment