refactor(parser) abstract parser

Parser isn't suitable for this case, parse is a process, not a instance.
Parse function will match a local file from a url, containing any other attribute like wrap, pkg and so on.
The match will pass to many rules, break when matched, rule can be customize also

Closes #11
这里要带上 hpkg.version 和 hpkg.main，不然跑不通。