Remove cruft from gitignore
Fix issue #50: remove Default instance for Song

As pointed out by sol: using undefined for Song is
a bad idea; provide a custom constructor for Song instead.
Move source to src/
Merge branch 'no-undefined'
Merge branch 'move-src'