Add enumeration for invalid state

The invalid state can be used when state-mismatch is noticed.
The invalid state should report a FI-alert upwards.
diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h
index 8008b51..f147069 100644
--- a/include/mbedtls/ssl.h
+++ b/include/mbedtls/ssl.h
@@ -583,6 +583,7 @@
     MBEDTLS_SSL_HANDSHAKE_OVER,
     MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET,
     MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT,
+    MBEDTLS_SSL_INVALID
 }
 mbedtls_ssl_states;
 
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index 2c209d3..d8b1ce0 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -4254,6 +4254,7 @@
            mbedtls_ssl_handshake_wrapup( ssl );
            break;
 
+       case MBEDTLS_SSL_INVALID:
        default:
            MBEDTLS_SSL_DEBUG_MSG( 1, ( "invalid state %d", ssl->state ) );
            return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index fb64a2b..1a341c4 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -4818,6 +4818,7 @@
             mbedtls_ssl_handshake_wrapup( ssl );
             break;
 
+        case MBEDTLS_SSL_INVALID:
         default:
             MBEDTLS_SSL_DEBUG_MSG( 1, ( "invalid state %d", ssl->state ) );
             return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );