Devoncarew pub analysis

Add markers to the pubspec.yaml file to indicate when packages are not yet provisioned (fixes #1468).

- refactor the pub and bower builders a bit to tease them apart  - they are doing slightly different things now
- fix an issue where bower.json parse errors where not creating markers
- make sure the regular json builder doesn't process the bower.json file
- on an change to pubspec.yaml, or to a file in the packages/ directory, re-analyze the pubspec deps

@keertip, @ussuri

Sergey, this undoes some of the comsolidation you did in the package manager builders, as the pub one now operates sufficiently differently from bower.