More robustly handle directly links to a vision
- Remove trailing slashes from API calls
- Add urlRoot to the vision model so we can fetch directly
- Change getVisionCollection to simply return a vision collection (and fetch if its new)
- Fetch a vision directly if its collection does not exist or the vision is not present