file format documentation
low level ipod files accessors
starting higher level interface
moved bindata ipod helpers outside ipod_db.rb
modify $LOAD_PATH in sync-ipod

1. so sources in lib can require each other more easily
2. so sync-ipod can be used without bundle exec
use a copy of the test_data directory in tests
using Map instead of Hash
includes each/none asserts / expectations
update tracklist in memory
passes writing tests
more tests using Map
started working on the command line
better defaults for pstate fields

if trackno 0 happened to point to a track with bookmark amd trackpos was 0 too,
we'd override the bookmark. Setting trackno and trackpos to -1 makes sure the
bookmarks are left intact.
an rsync script to copy podcasts from gpodder
make sure test data copy is writable
correct reclen for SD header

this field is the size of the header, not of the whole file. incorrect value
here confuses the firmware and it'll refuse to play.
correct file type

file type depends on the format, set it. also add all file extensions to the
list of accepted extensions.
code formatting
single source of truth about supported extensions
replacing cruft by standard functions