optimized linq query
if no mode is sent to the getassetskey(... , view, mode) function, it doesn't append a trailing / anymore to the view, so that the file with name of the view exists on s3
fixed front-end viewer to incorporate possibility of empty modes for assets
Merged with master, added tests for getting assets keys without providing a mode