Refactor - DatabaseConnection::getUser should return an Optional<User>
<!-- Make sure the title starts with "Bug - [insert short description of bug]" -->
## Description
Calling `DatabaseConnection::getUser` with a user that does not exist causes an `SQLExceotion`. The method should be modified to return an `Optional<User>`.
This bug can be confirmed by executing a PUT request with the following data to `/api/v1/user/password`
```json
{"username":"NON_EXISTENT_USER", "password":"ANY_PASSWORD"}
```
## Priority - Medium
The method works, however catching all SQLExceptions to check if a user exists is not ideal.
## Definition of done
When the method returns an Optional<User>
<!-- Don't forget to assign the correct person and labels to this issue!-->
issue