Better option management.

1) Remove basePath. Now it will be based on the current file path.
2) Deep copy the option object and do not override values based only on their keys.
Extend test.