UI: Use execvp to run qiv

- This handled paths including spaces!
UI: Don't hardcode any source paths
Index: Add removeSource()
UI/MainWindow: Make confirm() public
UI/Sources: Add adding and deleting of sources
Database and Index: Specify paths for the database
Build: Even more things to ignore