Use Filelock gem for file locking
Raise an error if installed component is empty
Ignore files in special directories, closes #46