Parser now correctly parses attributes with whitespace before colon

For rules such as:

```css
a {
  margin  : auto;
  padding : 0;
}
```

... that contain whitespace before a colon, the CSS attribute name is extracted with the whitespace instead of trimming it. This breaks the case above, which is valid CSS. The added test case and modified expected result are contained in the pull request, including the trimming in `index.js`.

This is a fix I need to fix autoprefixer, which depends on this library for parsing CSS files and applying prefixes where applicable.