traverseNode = function (node) {
  if (mergeableNodes.indexOf(node.type) !== -1) {
    if (node.is('ruleset')) {
      checkRuleset(node);
      checkForBlock(node, traverseNode);
    }
    else if (node.is('atrule')) {
      if (isMergeableAtRule(node)) {
        checkAtRule(node);
        checkForBlock(node, traverseNode);
      }
    }
  }
}
Traverses a node and checks for rulesets and at rules and then fires off to the
respective method for them to be handled

@param {object} node - The current node / atRule part of our selector
@returns {undefined}