setup for Castle boost

add new variables and saveData
(Castles).bought to .totalBuilt

alter previous Molpy.casltesBuilt to (Castles).bought so they point to
.totalBuilt instead
see:
https://github.com/eternaldensity/Sandcastle-Builder/commit/225a657282bb4a7c61dcf732674372596dfaafec

should solve many if not all of the castle shop issues
remove (Castle).spent undefined checks

no longer needed as spent is defined on creation now
remove Molpy.castlesDestroyed

replaced with (Castles).totalDestroyed
remove Molpy.totalCastlesDown

replaced with (Castles).totalDown
remove Molpy.prevCastleSand, Molpy.nextCastleSand

replaces with (Castles).prevCastleSand and .nextCastleSand
add above to saveData
remove Molpy.globalCastleMult

replaced with Molpy.Boosts['Castles'].globalMult
setup Sand boost for refactor
(Sand).bought to .totalDug

redo last replacement of Molpy.sandDug to (Sand).bought
see:
https://github.com/eternaldensity/Sandcastle-Builder/commit/6f3645b5af3d7cda9be1464027bac008a6264770

should fix any errors (none known) and prevent future ones
remove Molpy.sandManual

replaced with (Sand).manualDug
migrate Molpy.sandPermNP to (Sand).sandPermNP
migrate Molpy.computedSandPerClick to (Sand).sandPerClick
remove checks for (Sand).spent == undefined

no longer needed since property is created on boost creation
remove old comment
Merge branch 'master' into refactor
add version check to BoostsFromString
migrate Molpy.timeTravels to (Time Travel).travelCount
refactor Tool Factory related Molpy.variables

Molpy.totalGlassBuilt
Molpy.Boosts['TF'].totalLoaded

Molpy.totalGlassDestroyed
Molpy.Boosts['TF'].totalDestroyed

Molpy.chipsManual
Molpy.Boosts['TF'].manualLoaded

Molpy.glassPermNP
Molpy.Boosts['TF'].loadedPermNP

Molpy.chipsPerClick
Molpy.Boosts['TF'].loadedPerClick

add saveData to TF
add calculateLoadedPerClick to TF, replaced two instances of code with
calls to this function
refactor Glass Chip and Glass block related Molpy.variables

Molpy.chipspmnp
Molpy.Boosts['GlassChips'].chipsPermNP

Molpy.blockspmnp
Molpy.Boosts['GlassBlocks'].blocksPermNP

Molpy.lGlass
Molpy.Boosts['GlassBlocks'].luckyGlass
add luckyGlass saveData

add Molpy.Boosts['GlassChips'].calculateChipsPermNP
add Molpy.Boosts['GlassBlocks'].calculateBlocksPermNP
replace code with calls to above functions
add version check to GamenumsFromString

remove values of boost properties from saving as gamenums