Implement @error function

In reference to https://github.com/sass/sass-spec/issues/136 and https://github.com/sass/libsass/issues/704

I first tried to duplicate all `Warning` related code, but ran into the issue that `Error`, `error` and `SASS_ERROR` are already taken by other parts. Therefore I decided to "hack" `Warning` to add a `is_fatal` flag to indicate these kind of Errors internally. I guess this does make sense, although the namings are already a bit confusing and this PR does not help to reduce that.

This is not complete as this should also be added to the C Interface (related to #711). But I'm not sure if we should split this into error and warning (would IMO feel a bit more natural) or introduce the "concept of fatal warnings" also to the C-API. Unfortunately we already and only have `Sass_Error`, so to not break anything we would need to add "non fatal errors". Which leads back to probably just split it into `Errors` and `Warnings` at the C-API level.


Is there a reason not to have an `Error` AST node.