WARRANT AGREEMENT BY AND BETWEEN HERCULES TECHNOLOGY GROWTH CAPITAL, INC. AND AMERICAN STOCK TRANSFER & TRUST COMPANY AS WARRANT AGENT