Chris 11 OnCardValidListener

Add CardIsValid listener. 
Smooth out the user trying to go forward with invalid fields. 
Cleaned up some code. It is now the implementor's responsiblity to handle focus and keyboard stuff in the CardIsValid listener.
Added convenience methods for getting card data.