make `alt` option an object with src and dest
minor cleanup, improvements in utils
updates optionsDataFormatFactory function so that it basically can take any mixed formats you throw at it.