JSON Qualities & Smart Crafting Radius

Fully implements the JSON qualities stub that already existed, and
expands it to include terrain and furniture as well as items. Also
implements smart crafting radius, in where furniture and terrain with
the quality `CRAFT_DISTANCE`, will allow crafting with items on that
tile up to the given distance away.
Add crafting distances to furniture.json

Defines the crafting distance for all furniture that should have it.
Adjusted furniture and terrain description.

When looking around, furniture and terrain now describe how they affect
crafting distance.
Update documentation.

Updates `JSON_FLAGS` to describe the new quality system and the new
`MAX_CRAFT_DISTANCE` and `CRAFT_DISTANCE` qualities.
Manual merge update

For auto-build purposes.