Make signslib optional via configuration variable
Merge pull request #22 from kaeza/optional_signs

Make signslib optional via configuration variable
Fix disabled signs.
Condense shutters into a nice loop, give them wood sounds instead of leaves.

Make shutters and curtains pass sunlight through to avoid ugly shadows
vertical shadows.
Fixed duplication bug

Fixed a little bug within the recipe registration which causes to
duplicate shingles when crafted from slopes.
Quick n' dirty hax to make locked furnaces work again.
Make wall signs protection-aware.
fix typos in alternate slope recipes (affects all mods that use the
shingles API)
Replaced most uses of get_modpath() with variables cached at the top of init.lua
changed all "homedecor_" variable and function names to "homedecor."
(underscore -> period).  Similarly for intllib calls and the DEBUG variable.
[10-09 20:14] <ShadowNinja> VanessaE: homedecor.debug can't be local
since it is in a global table.
Split ownership checking and 6d facedir into separate files.  Changed
related functions to use homedecor: and lib_6d: namespaces, as
necessary, instead of simple "homedecor_" name prefixes.
fix nil function call in ownership code.
fix minor quantity bug in crafting terracotta shingles back into pieces
oops, S() needs to stay in init.lua
Make registering unknown signs a warning instead of an error.
Optimize create_lines() by using patterns, and prevent truncation of infotext.
Any kinds of leaves that are in group:leaves (e.g. default leaves,
moretrees leaves, possibly others) can be used to make plastic base.
You can mix and match any types, if so desired.
Some fixes to signslib.

- Optimize texture generation by using `table.insert' and
  `table.concat' instead of concatenating strings.
- Related to first point, use `string.format' to construct
  individual textures.
- Fixed text entity not wrapping.
- Fixed small typo: `SIGN_WITH' -> `SIGN_WIDTH' :-)
Fixed offset bug in sign entities.

Existing signs' text will not be moved - this fix only applies to
newly-placed signs (or at leasty, newly-spawned text entities e.g. after
/clearobjects followed by punching).

Also, made a few functions local that didn't really need to be global,
some minor re-arranging of the code to accommodate the above and to tidy it
up a bit.