function buildAll (nodeModules) {
	return this
		::map(parseLifecycleScripts)
		::mergeMap((scripts) => ArrayObservable.create(scripts))
		::concatMap((script) => build(nodeModules, script))
		::every((code) => code === 0)
		::filter((ok) => !ok)
		::_do(() => { throw new FailedBuildError() })
}
run all lifecycle scripts upon completion of the installation process.
ensures that all scripts exit with 0 (success), otherwise an error will be
thrown.
@param  {String} nodeModules - `node_modules` base directory.
@return {Observable} - empty observable sequence that will be completed once
all lifecycle scripts have been executed.