Split the branch data into read-only and mutable parts.

As a side effect, branches can now be shortened without breaking major save
compat.

This commit itself doesn't preserve compat though, even though it'd be easy
-- other parts are too nasty already.

Conflicts:
	crawl-ref/source/branch-data.h
	crawl-ref/source/dgn-overview.cc
	crawl-ref/source/dungeon.cc
	crawl-ref/source/mon-place.cc
	crawl-ref/source/ng-init.cc
	crawl-ref/source/output.cc
	crawl-ref/source/place-info.cc
	crawl-ref/source/travel.cc