Add graph search package and tests