Prepare Manifest.parse_lines() API for returning attributes
parse_lines(): Implement handling of free-form text-format attributes
Add AttributeHandler class for dealing with known/special attributes

Also add subclasses for file size and SHA-1 of file contents.
Insert parsed attributes as the ._attrs member of a Manifest object
Teach from_walk() to generate size/sha1 attributes

Add a .from_path() method to the AttributeHandler API, to make
AttributeHandlers generate their own attribute value from a given path
in the filesystem. Provide suitable implementations for SizeHandler and
SHA1Handler.

Add tests verifying attributes being deduced correctly by from_walk()
Test and fix manifests with non-empty files an symlinks