Ability to install and update a list of dependencies

Also use an error handler to log messages instead of io.put_string