Modified env resource to break values up by delimiter before comparing

I'd like your thoughts on this. It needs a bit of refactoring, but here is the justification for making this change:
If someone were to do (before this patch),
```ruby
windows_path 'C:\foo;C:\bar' do
  action :create
  ...
end
```
the path would grow each time this recipe was executed. This is because
compare_path would break up the current path with ;, but would not do
the same for the value being added.

Note: windows_path is just a wrapper around env that sets the delimiter to ;

cc @schisamo, @opscode/client-engineers 
With this check, isn't it possible for current_values to contain `C:/path/subpath` and the incoming values to contain `C:/path` but the incoming value won't get added to the path?  Can you add a unit test to check for this?