add CommandCollection and CommandParser

add CommandCollection, CommandParser and make changes in AbstractCommandHandler and AbstractCommand to utilize.