some methods in HTMLNode added, Swift improvements

methods added in HTMLNode.h and HTMLNode.swift

[descendant | child | sibling]WithAttribute:valueBeginsWith:
[descendant | child | sibling]WithAttribute:valueEndsWith:
[descendants | children | siblings]WithAttribute:valueBeginsWith:
[descendants | children | siblings]WithAttribute:valueEndsWith:

Many improvements in the Swift version by removing redundant code.
Conforms to optional init