Implement preset functionality for light sources.
Merge GrowRange and ShrinkRange.
Remove @ToDo's.
Add comments to the helper functions.
Merge IncreaseBrightness and DecreaseBrightness.
Seperate Presets table from LightSource.
Move 'Active' to the LightSource table.
Add parameter descriptions for applyProperties().
Edit rgb() to handle being passed a table.
Move thank-you comment to timer().
Edit a few comments.

Edited the 'usage example' comment.
Removed the comment above the LightSource constructor.
Edited applyProperties' 'instance' parameter comment.
Remove the warn() function.

Change all instances of 'return warn()' to 'error()'.
Add exception to ManipulateBrightness.
Rework how new light sources are created.
Fix Range tasks fighting eachother for dominance.
Fix Fire's 'Enabled' property getting out of sync.
Allow for 'Light' and 'Fire' tables to be ommited from preset.
Dry off getPresetProperties().
Create taskDoesNotExist function.

This is for ManipulateRange and ManipulateBrightness to make it a bit
more dry when throwing the 'task not found' errors.
Add 'Fireplace' preset.