Fix for #338 - FS now supports case sensitivety

After about a week or two or work (well, mostly i was lazy tbh) i finally finished it.
Before I go off changing this and it turns out it's a bad idea: I feel it'd be more... intuitive to reverse this? That is, call segments first (which is basically just a 'split string at /'), then pass that to `toCaseInsensitive` and map it (with the node as the var, not the `name`). Any arguments against me changing it to that?