Generate remote image URL if it isn't set

Since the imageURL can be generated if it isn't set, we can
generate it once and then just return it. This is overriden when
we explicitly set it if we get it back from the API

Change-Id: I55939f2d9c0c2679847ec104f8029d9e533e202b