Fix Syntax.cforMacro#isClean (see non/spire#75)

This attempts to complete the fix for non/spire#75.
The `isClean` method from 58dd318f41c9dd39d6a8f7c07f73b4c74c74a746 was a bit too optimistic: it can't rely on checking that the Tree is an Ident, it also needs to check that its Symbol is stable (see edge cases in diff of SyntaxTest).