Refactoring

Move block `already install` before creating temporary directory
Add new function hunter_check_already_installed
Improve lock logic

Do not lock directory if package already installed and create any
temp directories only if locked
Add function hunter_try_lock
Fix include
hunter_lock use hunter_try_lock