getByUserID should return null when no user found

`User::getByUserID()` returns an `User` instance even if the user is not found.
Let's return nothing if the user has not been loaded...

As a bonus: the query is now a bit faster since the DB engine stops search at the first record found