Version string for limpkin

Switch to simple version string for identifying firmware builds. Searches for tags that match "v*", such as v0.1 and v0.1.2 (and potentially v0.1-rc5 or v0.1-MooltiCATS, etc). If it finds such a tag, the number of commits since that tag and the short hash of the current commit are appended, such as: v0.1-5-g1234abc. Finally, if the firmware was built from a modified directory, "-dirty" is appended to the end as well. If no valid tag can be found, it will fall back to just the short hash: g1234abc. End result: You can always identify exactly what code the firmware was built from :-)

In addition to the changes to firmware and plugin, I also added a script which can extract the version number from any given hex file. It uses the following regex to match either a vMAJOR.MINOR.BUILD-N-gHASH-dirty or just gHASH version string:
```
(v[0-9]+(\.[0-9]+){1,2}(-[0-9]+-g[0-9a-f]{5}+)?(-dirty)?)|(g[0-9a-f]{5}(-dirty)?)
```