implement signal with message, fix a bug in sync_engine constructor
merge from wei/signal_enhance
fix shortest_path