Snapshot, add, commit working

initRepo() now creates a working repo rather than a bare one.
Separate bareRepo() function added. Work on this later by offering it as
an option to advanced users.