In particular support source files whose name start with `.` or contain characters not allowed in the nix store, such as spaces. Also add some test cases for `home.file`. (cherry picked from commit 7c04351a57)
7c04351a57
(cherry picked from commit c42206db02)
c42206db02
Fixes #526 (cherry picked from commit e150dd4a66)
e150dd4a66
(cherry picked from commit 6d56abcec1)
6d56abcec1