Merge pull request #4 from djdeath/unlink

add Unlink component
add Normalize component
add Resolve component
Merge pull request #5 from djdeath/unlink

Fix Unlink behavior with more than once input
Merge pull request #6 from djdeath/normalize

add Normalize component
Merge pull request #7 from djdeath/resolve

add Resolve component
MakeDir: let async component manage disconnect
ReadDir: let async component manage disconnect
State: let async component manage disconnect
MakeDir: make linter happy
ReadFile: let async component manage groups and disconnect