Added frameworkAssemblies support

- The frameworkAssemblies section is specific to a target framework
- Refactored BuildContext to call into the ProjectReferenceDependencyProvider.
This means that only a single place actually uses the project class directly
(which is nice).
- GetLibraryDescription now takes a Library instead of name and version
(we may need to revisit this and create a different poco). When @lodejard finishes
dependency types we'll see how this ends up
- Preserve the backwards compatibility of declaring frameworkAssemblies in
dependencies temporarily
- Added tests for parsing frameworkAssemblies

#640
#619

/cc @blowdart @GrabYourPitchforks