getUrl: return more consistent types

User should be sure about datatype provided to getUrl.
It's always a good idea to validate user input before the data are
being used.

This way it's more consistent - returning null on empty string
AND on " " too just makes more sense at least from user interaction
point.

It's also less error prone, since api user doesn't need to care
about one more return type and it's associated semantics.

test: getUrl returns null if no repo/user
fix repos with dots in the name
add more tests
0.1.0