Added expense types, source tracking and gem updates

Added the ability to have expense types (d=dollars, m=mileage), track sender and updated some of the outdated gems.  It's been a fun learning experience so far and I expect to continue to add functionality so stay tuned for more pull requests.