Add support for nth with maps
Merge pull request #647 from xzyfer/feat/nth-maps

Add support for nth with maps
Refactor C Interface to hide implementation details
Fixes sorting bug with included_files status array

With string input, the "stdin" entry would get sorted away
from the start of the array. This lead to a strange bug
since we skip the first item when copying that information
back to the implementer.
Implement @warn and generic function overloading

Define a custom function named '@warn' to get called when
the corresponding statement is found in sass code. Use a
function named '*' as a fallback, if the requested function
is not found. The original function name will be the first
argument (along with the rest of the original arguments).
Implement custom import overloading on parser
Let API user pass ownership of potentially big strings

User will need to create a copy if the memory is static!
Otherwise he can pass the string to libsass and we will
take care to free the memory when the context is destroyed.
Enable getters for option properties

Allows to port sassc easier to the new API!
Additionally fixes some 'const char*' missuses!
Fix issue with included_files and file contexts
Split compilation step into parse and execute steps

This allows to query include files before the compile step!
Add extended error information also in plain form

We do not want to force implementers to need json parsing
functionality, just to get the extended error information.
Copy strings that get passed to us as 'const char*'

We may not know how long these strings will live, therefore
we pay to price to create copies of them. We only let users
pass potentially very big char arrays directly to libsass!