Misc fixes

cleans up warnings and adds compiler option to treat warnings as failures.

Also fixes `props:filter_undefined/1` to respect singular items in the list