.gitignore: update documentation directory name

In the yocto-docs repository, the documentation is stored in a directory
called "documentation". In this repository the documentation is stored in
"doc".

This update allows git to properly ignore generated documentation.

Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cooker: Only change self.data if it exists

With the change to more optimal default featureset behaviour, a race was
exposed by hob where the code may try and change self.data before it
exists. This change avoids that.

When the datastore is created, the cooker configuration is used so
data tracking is correctly handled regardless.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bin/bitbake/cooker: Ensure initial featureset is optimal

If the featureset didn't match the defaults, we'd pay the price of two
base configuration parses which showed up adversely in the performance
benchmarks. This also passes the feature set into the cooker creation so
in the common case we don't have to reset the server. This speeds up
both knotty and hob startup. If the featureset doesn't match, the system
will reset as before, this just streamlines the common case.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>