WIP: Make recursive push work.

This introduces a path normalization helper that turns filenames
into entity IDs where needed to allow the push of a directory
to the device to work.

There's still some refactoring to do but it's fully functional.