comment explanation expanded
readme updated
add meta information which package caused dependency to be selected
add depends.update_dep_manifest()
add provides, conflicts and satisfying_provided_by information to dependency manifest

in dependency manifest, there are two important tables:

 * satisfied_by - for each entry, key is the dependency constraint and value is
                  the package that satisfies this dependency constraint.

 * satisfying_provided_by - for each entry, key is the package that satisfies
                            some dependency constraint and value is another package
                            that provides that satisfying package (if any).
change local function definition to adhere to our conventions
update dependency manifest after installation
change order of arguments to depends.get_depends()
change error message
TODO test added
correct and update the 'tree' functionality
store 'was_scm_version' meta information directly in the 'pkg' table + small comments edits
TODO added
first take on using the cached dependency manifest in installation process
fix: convert value to string before writing to the file
dist.dependency_info(): return just relevant dependencies
increase cache timeout to 3hrs (was 1)
remove unnecessary line breaks
more accurate error messages
remove todo