Implement best practice validation for Controlled Structure XPath

Fixes #4 

@bworrell, there is one pending issue with this I could use your input on:

When running the XPath to ensure there is some sort of result set, some XPath currently doesn't work. Basically, we need to resolve namespaces within the XPath the same way namespaces resolve within the document itself. 

For example: given a STIX doc with `xmlns:stix="http://stix.mitre.org/stix-1"`, 
this: `<marking:Controlled_Structure>//stix:STIX_Header</marking:Controlled_Structure>` won't validate. 
However, `<marking:Controlled_Structure>//stix-core:STIX_Header</marking:Controlled_Structure>` will validate, as `stix-core` is what the `stix` namespace translates to within the validator.

I can't readily see a good way to resolve this, so I could use your eyes and brain-piece!
The `except SomeException, ex:` line uses slightly older Python exception handling syntax. 

I prefer:
```python
try:
   _this_will_certainly_throw()
except SomeException as ex:
   _handle_exception(ex)  # do whatever
```