add ItemQuantity property

A property to keep track of the item's quantity
Allow all object types to have Property tags

This isn't particularly useful within Denizen itself currently (most
object types shouldn't have identifying properties, and we can directly
add tags) but this is of use to external plugins (like Depenizen) who
want to add their own tags to a dObject -- they can simply use the
property system for this now.
Organize dMaterials, add list of Todos

- Added some labels for clarity
- Added some more missing materials
- Added log rotations (there are 2 rotations and the weird one I called
'ball')
- Removed 'natural_coal', which should just be considered normal 'coal',
similar to how sand is just 'sand', rather than 'yellow_sand' or
something weird like that.
(That rule doesn't make sense for things like planks, in which no given
wood breed can be considered dominant)
- Two TODO groups of materials to add
-a list of TODO properties... listed in dMaterial purely as information
that each of these properties is technically a datavalue but is better
stored as a Property than writing out a huge list of dMaterials for them
(Logs are the exception to the rotation rule as there are so few of
them, and of the rotation options isn't so much a rotation as a block on
its own anyway)
Add ItemDurability property

A property for damaged items!
Also fix a few minor side errors
add ItemSkullskin property

For human_skull (skull_item)'s
Now they won't lose their owner
add slab dMaterials

Yay slabs! And double slabs! and slab_up's!
Parse decimals in tags properly

<l@1.0,2.0,3.0,world.highest> will now return the highest location at
that point
<el@3.0.add[2]> will return 5.0
etc.
Hooray!
Merge pull request #566 from mcmonkey4eva/master

More properties, more materials, more fun!