BeerXML Support

This is the first set of commits, I'll be doing some tidying up tonight to sort some things out, but I figured I'd push this so you can take a look first.

* Add a Quantity class which supports conversion between different weight types
* Allow Weight to use a string constructor which creates a Quantity class then converts this back to ounces as the Weight default.
* Add a basic BeerXML parser that uses XPath lookup (there's no DTD for BeerXML that I can find)
** Returns an array of recipes
* Add an "Open" option to the RecipeListFragment that will allow XML files to be selected
** This will determine that the file is a BeerXML file then opens the BeerXML parser. 
** This allows us to support more filetypes in the future.
* Add a ParseXML class that has a helper that identifies the recipe type (either via File path or InputStream)
* If a list of recipes comes back, add them all to the Datastore.
* if one recipe comes back, show it, otherwise just refresh the list.
Dry Hop can be done in Primary, but secondary is a rack to another vessel.  Though the beer XML Spec actually has a couple of others that I should add:

May be "Boil", "Dry Hop", "Mash", "First Wort" or "Aroma".  Note that "Aroma" and "Dry Hop" do not contribute to the bitterness of the beer while the others do.  Aroma hops are added after the boil and do not contribute substantially to beer bitterness.