Adding roslaunch style if/unless conditional statements to xacro

This patch allows adding conditionals to xacro with the following syntax. This is useful in the case of configurable robots or loading different gazebo plugins.
```
<xacro:if value="<expression/substitution_arg>">
  <... some xml code here ...>
</xacro:if>
<xacro:unless value="<expression/substitution_arg>">
  <... some xml code here ...>
</xacro:unless>
```
The expression needs to evaluate to "0", "true", "1" or "false", otherwise an error will be thrown. Additionally, the conditional has no effect on macro or property definitions, and is only used while constructing the final xml.

The pull request also includes a minor bug fix.