Shortcut some tests in Model initialization

When Model objects (Albums and Items) are loaded from the database a lot of time is wasted checking if the object is dirty and if fields are fixed or flexattr.

This change alow bypassing these checks when we know that the data is correct ; it should only be used when loading Model from the database.

With this, listing all tracks in my test database (8200 items) takes 4 seconds while it took 31 seconds previously.
Move Model initialization in a separate method

The idea is that we can apply special treatment in subclasses when
needed, especially for path normalization.
Merge remote-tracking branch 'origin/master' into optimize-model-init
Avoid duplicating _bulk_update into subclasses
Simplify model initialization shortcut

This avoids multiple paths to setting values. It also moves the buffer check
into PathType.normalize, where it belongs. This is slightly faster than the
previous iteration: about 8 vs. 9 seconds to list about 13k songs on my
machine.
Merge branch 'PierreRust-optimize-model-init'
Update changelog for #753
Merge branch 'master' of github.com:sampsyo/beets

Conflicts:
	docs/changelog.rst