Ampersand operator on any position in the nested selector

#18 is an issue on the present implementation, not the modifications in this pull request.
Didn't fix #18 yet, but I'm working on it unless you have a solution.

Added new test for using ampersand operator

    {
        a: {
        color: 'red',
            ':hover': { color: 'blue' },
            '&.fancy': { color: 'green' },
            '.ie6 &:hover': { color: 'orange' },
            '.ie6 &.fancy': { color: 'yellow' }
        }
    }

Result:

    a {
      color: red;
    }
    a:hover {
      color: blue;
    }
    a.fancy {
      color: green;
    }
    .ie6 a:hover {
      color: orange;
    }
    .ie6 a.fancy {
      color: yellow;
    }

Haven't tried BEM with this yet but might work.

    {
        '.media': {
            margin: '10px',
            '&__body': {
                overflow: 'hidden'
            },
            '&__img': {
                float: 'left',
                marginRight: '10px',
                img: {
                    display: 'block'
                },
                '&--rev': {
                    marginRight: '20px'
                }
            }
        }
    }