#24: Add composer.lock, update minimum PHP version, generate PHPDoc