Fixed two bugs related to the paths.

The inputs on tasks were only defined as the jsRoot, meaning that changes
in file defined on the paths wouldn't cause the task to be run again.

When adding the addional paths onto the list anything that isn't a
collection is converted to a string and then pushed onto the list. This
means that when a user didn't define a path the string "null" was added to
the list.