Revert "Restrict support to actually supported types"

This reverts commit d3bac953cf993aecbcca38fec85b097b5cfdfbdd.
Implement location pattern compilation

As discussed on Github, this modifies the BaseInstaller class to make its constructor arguments optional and adds a getter method to get the locations. This allows us to re-use the locations property.